[스프링] 스프링 라이브러리 설치하기 ( Maven )
지난 포스팅에서 프레임워크의 핵심 원리인 '제어의 역전(IoC)'을 구현하는 어플리케이션 컨텍스트에 대해서 알아보았다. 그럼 이번 포스팅에서는 Maven으로 Spring 라이브러리를 추가한 후, 어플리케이션 컨텍스트를 실제로 생성해보겠다.
Maven으로 Spring 라이브러리 추가하기
어플리케이션 컨텍스트를 사용하려면 어플리케이션 컨텍스트 기능이 담긴 인터페이스가 필요하다. 표준 API 라이브러리에는 스프링 관련 클래스를 갖고 있지 않으므로 스프링 라이브러리를 외부에서 갖고 와야한다. 이를 위해, Maven을 이용해 줄 것이다.
JDK는 표준 API 라이브러리를 제외한 다른 라이브러리는 갖고 있지 않다. 그러므로 개발에 필요한 외부 라이브러리를 참조할 필요가 있다. Maven은 개발에 필요한 외부 라이브러리를 손쉽게 참조할 수 있게 도와주는 툴이다. Maven이 없다면 외부 API를 제공하는 웹사이트를 일일이 찾아 다녀야 한다. 그러나 Maven은 검색 한 번으로 원하는 라이브러리를 얻을 수 있도록 도와준다.
이클립스 Enterprise 버전을 다운받으면 Maven도 같이 다운로드된다.
만약 Maven이 없다면 Help탭의 Marketplace로 들어가 플러그인을 설치해주면 된다.
그럼 Maven 툴을 사용해보자. Maven으로 외부 라이브러리를 참조하려면 일반적인 java 프로젝트를 생성하면 안 된다. Maven 프로젝트를 생성해야한다.
Maven 프로젝트를 생성하면 pom.xml이 존재한다. pom.xml에서 외부라이브러리를 추가할 수 있다. 이번 포스팅은 Maven포스팅이 아니므로 구체적인 원리는 다루지 않겠다. 그냥 외부라이브러리를 가져오는 방법만 다루겠다. pom.xml을 이용하여 외부라이브러리를 가져올 수 있는 방법은 2가지가 있다.
첫 번째 방법
라이브러리들은 모두 원격저장소에 저장되어 있다.
위 사이트는 윈격저장소에 저장된 라이브러리를 검색할 수 있는 사이트이다.
springframework 라고 검색하여 Spring Context 라이브러리를 클릭한다.
원하는 버전을 클릭하면 위와 같은 xml코드가 나온다. xml 코드를 클릭하면 자동으로 복사된다. 복사된 xml 코드를 pom.xml에 붙여넣어야 한다.
version 태그와 build 태그 사이에 dependencies 태그를 하나 만든 후 복사한 xml코드를 dependencies 태그 안에 붙여 넣는다. 그리고 pom.xml 파일을 저장하면 Maven이 자동으로 해당하는 라이브러리를 원격저장소에서 갖고 온다.
그 결과 Spring 라이브러리 참조가 자동으로 이루어진다.
두 번째 방법
굳이 원격저장소 사이트에 접속하지 않아도 이클립스 내에서 라이브러리를 다운로드 받을 수 있다.
pom.xml 파일의 dependencies 탭에 들어가면 외부라이브러리를 추가할 수 있는 공간이 나온다. add버튼을 클릭하면 아래와 같이 원격저장소에 저장된 라이브러리를 검색할 수 있는 창이 뜬다. springframework를 검색하여 아까처럼 Spring Context 라이브러리를 선택한 후 추가한다. 그리고 pom.xml을 저장하면 spring 라이브러리를 자동으로 참조한다.
그러나 처음이면 검색을 시도해도 어떤 라이브러리도 검색되지 않을 것이다. 그 이유는 원격저장소의 라이브러리를 검색하는데 사용되는 인덱스가 rebuild되지 않았기 때문이다.
Window 탭 > Show View > Other > Maven 폴더에 가면 Maven Repositories가 있다. 해당 뷰를 열어준다.
Global Repositories 탭에 central을 우클릭하여 Rebuild Index를 해준다.
그럼 위 그림과 같이 퍼센트지가 생기면 인덱스 리빌딩을 시작된다. 꽤 시간이 오래걸린다. 나는 30-40분 걸린거 같다.
리빌딩이 완료되면 전에 안 되었던 라이브러리 검색이 가능해진다. SpringContext 라이브러리를 추가한다.
그럼 SpringContext 라이브러리가 module 타입으로 생성되는데 type 태그를 없애야 SpringContext 라이브러리가 생성된다.
그럼 위와 같이, Spring 프레임워크 개발에 필요한 라이브러리들이 모두 참조 완료되었음을 확인할 수 있다.
Application Context 인터페이스 생성하기
그럼 Application Context 인터페이스 생성해주자.
ApplicationContext 인터페이스 참조변수에 설정파일이 담긴 구현객체를 추가한 모습이다. 라이브러리를 추가하면 위와 같이, ApplicationContext 인터페이스와 구현객체를 생성하고 사용할 수 있다.