지난 번에는 스프링의 모듈간의 의존관계만 간단하게만 정리했다.

본격적으로 스프링 3.0을 사용하는 애플리케이션을 셋업하려면 스프링의 18개의 모듈 외에 사용하는 각종 표준스펙라이브러리나, 오픈소스 라이브러리 중에서 어떤 것이 필요한지 알아야 한다.

스프링이 컴파일,런타임,테스트 단계에서 필요로 하는 모든 외부 라이브러리의 갯수가 몇개일까? 최신 3.0기준으로 확인해봤을 때 무려 95개이다.

스프링 3.0을 이용하려면 최소한(정말 최소한이다) 95개 중에서 어떤 것이 어떤 모듈을 사용하고, 어떤 기능을 적용하려고 할때 필요한지를 일일히 알고 프로젝트의 빌드패스에 추가하고 사용해야 한다는 뜻이다.

그래서 스프링 3.0의 Ivy/POM에 나온 의존정보에 대한 설정을 기준으로 해서 각 모듈별로 필요로 하는 라이브러리를 분석해봤다. 최소한 그 모듈을 사용하기 위해서는 반드시 필요로 한 것들도 있고, 모듈의 세부 기능을 활용할 때 선택적으로 사용할 수도 있고, 사용하지 않을 수도 있는 것도 있다. 또 그 모듈의 테스트 코드에서만 필요로 하는 것들도 있고, 어떤 것은 웹 모듈의 자체 라이브러리에 추가되지 않지만 나중에 서버환경에서 반드시 제공되야 하는 것도 있다.

구글의 스프레드쉬트에 정리해봤다.  아래의 주소에 지속적으로 업데이트 되도록 등록을 해놨으니 필요한 개발자들은 살펴보기 보기를 바란다.

http://spreadsheets.google.com/pub?key=ppDRa3Yit-05zS2cqWYFlNA

X는 필수, O는 선택(optional)이고, T는 테스트전용, P는 서버제공용이다.

모듈간의 의존관계도 필수가 있는 반면 선택도 있다. 당연히 transitive dependecy이므로 각 라이브러리 또는 모듈이 다시 필요로 하는 다른 라이브러리가 있으면 그것도 따라서 추가되야 할것이다.

Maven이나 Ivy의 라이브러리 자동 설치 기능이 제공되기는 하지만 optional로 지정된 것에 대해서는 일일히 사용여부를 확인해서 직접 추가해줘야 한다.

또 이클립스의 빌드패스 처럼 scope 개념이 없는 경우에는 테스트용 라이브러리를 모두 추가하면 불필요하게 프로젝트 모듈이 빌드될 가능성도 있으니 주의 해야 한다.

이전에 2.x에서는 보지 못했던 새로운 라이브러리들이 여럿 눈에 띈다. 하나씩 어떤 곳에서 사용되고 있는지 살펴보는 것도 재밌겠다.

Related posts:

  1. Spring 3.0 (42) Spring Dependency Matrix 업데이트
  2. Spring 3.0 (53) Spring Dependency Matrix 업데이트
  3. DI의 본질 – 다이나믹 (타입) 언어는 Dependency Injection이 필요없는가?
  4. Dependency Injection 표준화?
  5. 마이크로 DI(dependency injection)
  6. Dependency Injection의 Dependency란 무엇인가?
  7. JSR-330 Dependency Injection for Java 최종 승인
  8. Code Organization & Cyclic Dependency Problem
  9. EJB3의 Dependency Injection
  10. Spring 3.0 (35) Spring 3.0 Reference Document 공개
  11. Spring 3.0 (26) Spring Expression Language와 @Value
  12. 유쾌한 이슈처리 재촉 메일
  13. Spring 3.0 (4) – Maven에서 Spring 3.0 최신버전 사용하기
  14. Spring 3.0 (44) Spring 3.0과 JEE6
  15. Spring 3.0 (38) Spring Reference 업데이트

Facebook comments:

to “Spring 3.0 (7) Spring 3.0 Dependency Matrix”

  1. 너무 멋진 Sheet 자료 감사 합니다.
    템플릿 만드는 사람들에게는 아주 아주 소중한 자료가 될듯합니다.
    다시 한번 감사해요 ^^*

  2. commons.dbcp 1.2.2.osgi 가 중복되어 있는데
    이유가 있는지 궁금합니다

  3. 핑그팬더/ 그러게요. 두개를 합쳐야 겠네요.

  4. [...] 수가 있는데, 이를 엑셀로 해서 매트릭스를 만들면 보기가 편하다. 일전에 작업한 것을 구글 스프레드시트에 공개했었는데, 계속 수작업으로 업데이트하기도 [...]

  5. [...] Spring 3.0 (7) Spring 3.0 Dependency Matrix | Toby's Epril (tags: spring library dependency 3.0) [...]

  6. Dm1dys cvaxedwmlmna, [url=http://lmoxaqvcltza.com/]lmoxaqvcltza[/url], [link=http://tjoxuccksycq.com/]tjoxuccksycq[/link], http://opemaumbhsmi.com/

  7. clark shoes Spring 3.0 (7) Spring 3.0 Dependency Matrix » Toby’s Epril

  8. mbt kimondo Spring 3.0 (7) Spring 3.0 Dependency Matrix » Toby’s Epril

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2017 Toby's Epril Suffusion theme by Sayontan Sinha