Spring3.0은 스프링을 작은 단위의 모듈 여러 개로 잘께 쪼개져 있다. 기존에 덩치큰 spring.jar는 없어졌고, 이제는 작은 단위의 모듈 중에서 필요한 것을 선택해서 사용해야 한다. 물론 몽땅 다 넣고 생각없이 쓰는 방법도 있지만 매우 나쁜 습관이다. 왜냐면 각 모듈의 의존 라이브러리까지 관리해서 프로젝트에 넣어야 하기 때문이다.
3.0에서 좋아진 점은 각 단위 모듈별로 의존 라이브러리들을 좀 더 세밀하게 알 수 있다는 것이다. 스프링의 모듈 중에서 사용할 것을 먼저 선택하면 각각의 모듈의 의존 라이브러리를 확인할 수 있고, 그 중에서 필수는 포함시키고 선택 라이브러리 중에서 필요한 것을 다시 확인하면 된다.
스프링 모듈 간에도 의존관계가 있다. 각 모듈에 포함된 Maven POM을 잘 살펴보면 모듈간의 의존관계를 알 수 있다. 각 모듈간의 의존관계를 다이어그램으로 그려보면 이해하기 쉽다.
일부 옵셔널 관계는 생략했다.
Maven의 transitive dependency 를 이용하면 Web.serlvet과 ORM 정도만 넣으면 기본적인 구성은 끝이라고 볼 수도 있다. 물론 각 optional 라이브러리에 대한 exclude나 replace작업이 뒤따라야 하겠지만.
댓글 없음:
댓글 쓰기