스프링 컨테이너의 핵심이라고 볼 수 있는 Context 라이브러리 차례다. 가장 중요한 기능을 많이 수행하고 있기 때문에 사용하는 라이브러리의 숫자도 제법 많다.

 

필수 의존관계를 먼저 살펴보자.

당연히 Core, Beans를 사용한다. 그리고 AOP모듈에도 의존한다. 상당히 많은 컨테이너 영역에서 AOP기능을 활용한다. 직접적으로 aopalliance의 인터페이스들을 사용하는 클래스들이 있다.

그리고 앞에서 설명한 Expression모듈도 의존하고 있다.

 

Context Module Optional Libraries

Instrument/Instrument class loading

Instrument와 Instrument classloading 모듈은 스프링에서 가장 로우레벨의 기능을 담당하는 모듈이라고 볼 수 있다.

Instrument는 Java agent에서 사용가능한 Istrumentation의 기본적인 agent를 정의하는 것이고, classloading 모듈은 위빙과 톰캣전용 instrument를 위한 구현 클래스가 있다.

사실 자바의 instrument 패키지와 agent 구현에 대해서는 나도 잘 모른다. 로딩된 바이트코드 조작에 필요로 하는 agent를 등록하고 처리하는데 필요로 한 것이라는 정도.

스프링의 자체 weaving을 사용하거나 JPA에서 필요로 하는 바이트코드 조작의 경우 사용한다.

 

모듈자체가 optional이다. JPA를 사용하지 않는다면 필요한 케이스가 드문 모듈이다. Optional로 세팅.

 

weaver/cglib

AOP를 활용하니 당연히 들어가야 할 라이브러리이다. 이미 core와 aop모듈에 포함시켰으니 여기서는 패스.

 

beanshell / groovy / jruby

각각 해당하는 스크립트 빈을 구현할 때 사용한다. 스크립트 빈의 사용은 드물기 때문에 optional을 유지하도록 한다.

 

javax.annotation

@Resource, @PostConstruct 등의 표준 애노테이션을 사용한다면 포함시킨다. @DI를 사용한다면 당연이 필수로 포함시켜야한다.

 

javax.ejb

한물갔지만 어쨌든 스프링이 지원해주고 있는 ejb를 위한 기능들에 사용한다. EJB는 이제 그만. optional로 유지.

 

javax.jms

JMS의 사용을 기본으로 넣을 것인지는 조금 고민이다. JMS 스펙 뿐 아니라 JMS자체 구현도 포함시키는 경우가 많기 때문에 전체를 optional로 빼서 필요에 따라 넣도록 하는 것이 좋겠다. optional 유지

 

javax.persistence

JPA의 EntityManager를 사용하거나 지원 classloader를 쓸 경우에만 필요하다. 하이버네이트에서도 사용되긴 하지만 일단 Context에서는 optional로 제외한다.

 

javax.xml.ws

JDK6 or JEE5+의 표준 애노테이션에 등장하는 WebServiceRef나 리모팅에서 SOAP(JaxRpc,JaxWs)을 사용하는 경우 필요로 하다.  optional 유지.

 

mathcs.backport

SchedulingTaskExecutor의 전략구현 중의 하나인 ConcurrentTaskExecutor에서 사용한다. JSR-166 backport concurrency executor를 사용할 경우 필요하다. optional!

 

밤이 늦었으니 오늘의 분석은 여기서 끝.

Related posts:

  1. Spring 3.0 (14) Context Support 모듈의 선택 라이브러리 분석
  2. Spring 3.0 (17) Orm 모듈의 선택 라이브러리 분석
  3. Spring 3.0 (21) Web 모듈의 선택 라이브러리 분석
  4. Spring 3.0 (20) Transaction 모듈의 선택 라이브러리
  5. Spring 3.0 (8) Core 모듈의 선택 라이브러리 분석
  6. Spring 3.0 (16) Jms 모듈의 선택 라이브러리 분석
  7. Spring 3.0 (11) Aspects 모듈의 선택 라이브러리 분석
  8. Spring 3.0 (42) Spring Dependency Matrix 업데이트
  9. Spring 3.0 (7) Spring 3.0 Dependency Matrix
  10. Spring 3.0 (22) Web.Servlet 모듈의 선택 라이브러리 분석
  11. Spring 3.0 (18) Oxm 모듈의 선택 라이브러리 분석
  12. Spring 3.0 (10) AOP 모듈의 선택 라이브러리 분석
  13. Spring 3.0 (23) Web.Portlet 모듈 선택라이브러리 분석
  14. Spring 3.0 (19) Test 모듈의 선택라이브러리 분석
  15. Spring 3.0 (28) R-669 Update

Facebook comments:

to “Spring 3.0 (13) Context 모듈의 선택 라이브러리 분석”

  1. Great article! We will be linking to this great post on our site. Keep up the good writing.

  2. Howdy! I simply want to give you a big thumbs up for the great info you’ve got right here on this post. I am coming back to your blog for more soon.

  3. There’s definately a lot to find out about this subject. I love all of the points you have made.

  4. Nice post. I learn something new and challenging on websites I stumbleupon everyday. It will always be exciting to read through content from other authors and practice a little something from other web sites.

  5. I needed to thank you for this great read!! I absolutely enjoyed every bit of it. I have you book-marked to check out new things you post…

  6. May I simply just say what a relief to uncover someone that truly knows what they’re discussing online. You actually realize how to bring an issue to light and make it important. More people really need to read this and understand this side of your story. I can’t believe you are not more popular because you definitely possess the gift.

  7. I love looking through an article that can make men and women think. Also, thank you for allowing for me to comment!

  8. I’m pretty pleased to discover this page. I wanted to thank you for your time for this fantastic read!! I definitely really liked every part of it and I have you book-marked to see new things on your site.

  9. Pretty! This has been a really wonderful article. Thanks for supplying this information.

  10. Very good article. I will be dealing with a few of these issues as well..

  11. Good post. I learn something totally new and challenging on blogs I stumbleupon on a daily basis. It’s always exciting to read through content from other authors and use something from other web sites.

  12. After I initially left a comment I appear to have clicked the -Notify me when new comments are added- checkbox and now each time a comment is added I recieve 4 emails with the exact same comment. There has to be an easy method you can remove me from that service? Many thanks!

  13. Good blog you’ve got here.. It’s difficult to find high quality writing like yours nowadays. I truly appreciate people like you! Take care!!

  14. I must thank you for the efforts you’ve put in penning this website. I am hoping to view the same high-grade blog posts by you in the future as well. In fact, your creative writing abilities has motivated me to get my own website now ;)

  15. You should be a part of a contest for one of the best sites on the net. I most certainly will highly recommend this web site!

  16. I have to thank you for the efforts you’ve put in writing this site. I am hoping to view the same high-grade content by you in the future as well. In truth, your creative writing abilities has inspired me to get my own blog now ;)

  17. I was able to find good info from your articles.

  18. You should take part in a contest for one of the finest blogs on the net. I most certainly will highly recommend this blog!

  19. This blog was… how do you say it? Relevant!! Finally I have found something which helped me. Cheers!

  20. I have to thank you for the efforts you have put in penning this website. I’m hoping to see the same high-grade content from you later on as well. In fact, your creative writing abilities has inspired me to get my own, personal website now ;)

  21. You ought to take part in a contest for one of the finest blogs online. I’m going to highly recommend this site!

  22. This is a topic that is near to my heart… Best wishes! Exactly where are your contact details though?

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