/ SPRING

Spring 개발일지(4) - 자바로 스프링 개발

Spring 개발일지는 여러 절로 구성되어 있습니다.


설명하기에 앞서

안녕하세요. 풀스택 개발자를 위해 달려나가는 김준호 입니다.
이번 블로그 내용에서는 JAVA를 이용하여 직접 Spring을 적용하여 개발하는 시간을 갖도록 하겠습니다.
코드를 먼저 적용하면서 설명을 덧붙이도록 하죠.
그러면 시작해보겠습니다.


자바로 스프링 시작하기

자. 저번시간에 만들었던 저번에 만들었던 Project를 이용하면 되겠습니다. 프로젝트 참고 자료는 여기를 참고해주시기 바랍니다.
그러면 프로젝트에 Class를 만들어보도록 하죠.

스프링설명

기존에 있는 프로젝트에서 Class 를 생성하겠습니다.

스프링설명

일단 Main Class 를 먼저 생성해주시고, Main Method를 자동으로 생성해주는 것을 체크해주도록 합시다.

스프링설명

그리고 스프링을 간단하게 설명해드리기 위해서 클래스를 하나 더 생성하는데, Register Class 를 생성하겠습니다.

이 Register Class를 통해 가정을 해보도록 합시다. 홈페이지가 있는데, 메인클래스에서 회원가입 버튼을 누르면 회원가입을 하도록 만들어봅시다. 아주 간단하게, 즉 상상의 나래를 펼치도록 해야합니다….ㅎㅎ

Register.java 에 내용은 이런식으로 적용하여 봅시다.
그리고 doRegister() 메소드를 호출하여 실제로 회원가입이 된다고 가정하여 봅시다.

자 그러면 Main Class에서는 이러한 메소드를 호출하기 위해서 객체를 생성하고, 메소드를 호출해야 하겠죠?? 이것이 기본적인 JAVA의 객체지향프로그래밍 특징입니다.
코드는 아래와 같습니다.

Main Class에서 이런식으로 불러왔습니다. 이게 기본적인 JAVA 방식입니다.

하지만 이러한 방식을 사용하게 되면 필요한 객체들을 계속 생성할 수 있고, 관리도 적절하지 않을 수 있습니다. JAVA Design Pattern 중 Singleton Pattern 을 사용하면 객체를 사용할 수 있지만 이러한 부분을 관리하는 것 또한 개발자의 업무부담이 늘고, 의존성이 높아질수 있는 점을 가정하면 Spring 의 사용은 혁신적인 방법입니다.
스프링을 통해 어떠한 형태로 변할 수 있는지 확인해보도록 합시다.

먼저 스프링 컨텍스트 안을 구성하는 Bean 객체를 생성해야합니다. 그래서 이러한 Bean 객체를 생성하기 위해서는 XML 을 작성해야하는데 한번 따라해보시면서 이해해보도록 하죠.

오라클

먼저 src/main/Resource에서 오른쪽 마우스를 누르신 후에 New -> Others 를 눌러봅시다.

오라클

xml File을 눌러주세요.
전자정부프레임워크는 플로그인이 많기 때문에 위에 검색하는 부분을 이용하면 더욱 편하답니다~~

오라클

경로는 src/main/Resource를 클릭해주시고, 파일명은 처음 배우는 것이니까 ApplicationContext로 따라해보도록 합시다.

그리고 만들어진 ApplicationContext.xml의 내용은 다음과 같이 작성해주세요!! 복붙합시다

bean 이라는 객체를 이용하게 되면 Spring Container 에서 이러한 bean 객체를 꺼내서 사용할 수 있습니다. 즉 객체를 사용하려면 new를 이용하여 객체를 만들었지만 Spring에서는 Container가 생성해주기 때문에 이러한 객체들을 꺼내서 사용하면 된다는 의미입니다.


좀 더 살펴보도록 하죠. beans는 bean의 묶는 의미없는 존재입니다. bean의 id를 설정하여 Class가 같은 Bean 객체가 여러 개일 경우 id로 식별할 수 있습니다.
class 경로를 통해 이 class의 객체를 자동으로 생성한다는 의미입니다.
Main 함수의 코드가 조금 달라질 것입니다. 왜냐하면 new를 사용하지 않고 Spring Container를 이용하여 꺼내기 때문이죠. 한번 밑에 코드를 봐보도록 하죠!!

이렇게 GenericXmlApplicationContext를 아까 만들어주신 classpath:ApplicationContext.xml을 파라미터로 넣어 생성하고, getBean 메소드를 통하여 객체를 받아와서 사용할 수 있습니다.

지금은 코드가 더 복잡해 보일 수 있습니다. 하지만 차후에 MVC 패턴을 배우다 보면 Bean 객체의 생성도 간략화 할 수 있는 기능들이 있습니다. 기초 먼저 쌓고 기술을 배우는 것이 가장 중요합니다.!! 그러면 코드 실행을 시켜서 객체를 생성하지 않아도 null값이 나오지 않고 제대로 구성되는지 확인해볼까요??

오라클

코드가 정상적으로 실행되었습니다.


코드리뷰 및 요약

XML을 생성하고 bean에서 idclass를 정의합니다.


GenericXmlApplicationContext객체를 생성하고 getBean으로 bean객체를 받아옵니다.


마무리

오늘은 순수 JAVA를 이용하여 Spring Container를 사용해보았습니다.
이러한 Bean 객체를 Spring Container에게 제어권을 넘겨서 여러가지 코딩을 하는 편인데요.
다음시간에는 어떻게 하면 객체들을 생성 할 때, 의존하는 객체들을 넘길 수 있을지 알아보도록 하죠.
말이 어려울 뿐이지 객체를 생성할 때 파라미터를 스프링으로 넘기는 방법이라고 보시면 됩니다.!! 그러면 다음시간에 뵐게요!!
여기까지 따라오느라 고생 많으셨습니다!!!!!!!!!!!!!!!!