본문 바로가기
프로그래밍 언어/Etc

[스프링] Spring에서 패키지 여러개(multiple package) 사용하는 방법

by 우림 2015. 11. 6.

요즘 자바 프로젝트는 거의 스프링으로 하는 듯 합니다.

전자정부 표준프레임 뿐 아니라 대부분 회사의 프레임워크가 스프링으로 돼 있거든요.


오늘은 스프링으로 만들어진 솔루션에 우리가 만들어야하는 소스를 입히는 셋팅을 했는데요.

기존 솔루션은 A라는 폴더 아래에, 지금 만드는 건 B라는 폴더 아래에 만들도록 구조를 가져가는데요.

src 아래에 A와 B, 두 개의 패키지가 만들어진거죠.


이렇게하고 서버를 띄우니 A는 인식을 하는데 B는 톰캣에서 불러오지를 못하는 거에요.

어딘가에 설정이 돼 있을거라 생각하고 계속 찾았더니 xml 파일에 base-package로 선언이 돼 있었네요.


그림을 통해 한번 알아볼까요?

아래 그림처럼 src 폴더 아래에 두 개의 패키지가 있습니다.


기존에는 base-package로 하나의 패키지명만 선언이 돼 있었는데요.

아래처럼 콤마(,)로 구분해서 여러개의 패키지를 선언할 수 있습니다.


실제 xml 파일에 선언된 모습이구요.


위 파일에서 <context:component-scan 의 속성으로 annotation이 선언돼 있는데요.

이런 경우에는 해당 annotation xml 파일도 찾아서 base-package에 똑같이 선언해 주어야 합니다.

(속성이 없는 경우라면 무시하셔도 됩니다.)



이렇게 하고 다시 톰캣을 restart하니 아주 잘 동작합니다.

base-package 사용법은 네이버나 구글에서 검색하시면 아주 많은 결과가 있으니 찾아보시면 됩니다^^


댓글