드디어 오랜동안 기다렸던 Spring 2.5가 릴리즈 되었다.

spring25

지난 6월에 열린 SpringOne에서 7월말이면 Spring 2.1이 릴리즈 된다는 발표를 한 후로 한참을 기간을 넘기던 스프링2.1은 결국 좀 더 기능의 보강하(는척 하)는 명분을 가지고 2.5로 버전넘버 자체가 업그레이드 되서 이제야 릴리즈 되었다. 언제 스프링의 새버전 릴리즈가 약속한 때에 된적이 있었냐싶지만, 이번은 너무해도 정말 너무 했다. 2.1의 새로운 기능을 보고 그동안 준비하던 스프링 책의 내용을 전면 재구성하기로 결심하고 2.1이 나오기만 눈이 빠지게 기다리던 나는 결국 4개월의 스프링-타임을 보내고 11월에서야 제대로된 Spring2.5를 볼 수 있게 됐다.

 

과연 버전이 0.4가 한번에 늘어날 정도로 2.1에 비해서 2.5가 많은 기능이 추가되었는가?

아니다!

 

Spring 2.5의 새로운 기능목록을 보면 SpringOne에서 발표한 Spring2.1의 새 기능이라고 소개됐던 것에서 특별히 추가된 것이 없다. 기껏해야 "Full-featured", "Maximum convenience", "Completely revised"같은 수식어가 더 붙어있을 뿐이다. 그럼 왜 스프링 개발팀은 왜 4개월이라는 긴 시간을 더 소모해야 했을까?

 

내 추측이긴 하지만 그것은 Interfacce21(아니 이제 SpringSource)가 VC자금을 투자받고 본격적인 벤처비즈니스에 돌입하면서 마케팅적인 측면에서 여러가지가 고려된 것이 아닌가 생각된다. 이번에 추가된 기능을 살펴보면 코어쪽으로는 가장 기본이 되는 DI에 획기적인 기능추가가 있었다. 반대로 그다지 자주 사용되지는 않는 기능들이지만 대규모시스템에서 많이 필요로 하는 것을 고려한 기능들 – 예를 들면 WebSphere지원, JMS, JCA, RAR등의 기능보강등이 있다. 전자가 스프링의 저변확대를 위해서 새롭게 떠오른 경쟁상대 – Google Guice등 – 를 의식한 개발편의성의 보강이라면 후자는 Fortune Top 500에 대한 공격적인 마케팅을 하기 위해서 로드존슨이 실리콘벨리로 헤드오피스를 설립하고 이주하는 등의 과감한 결정을 한만큼 대형기업의 민감하고 현실적인 요구를 충족시킬 수 있는 기능의 보강이 필요하기 때문이라고 생각된다.

 

1.x시절부터 끊임없이 요구되었던 annotation기반의 DI설정기능은 스프링XML은 충분히 심플하다는 로드존슨의 주장으로 항상 묵살되어왔다. 하지만 EJB3와 Google Guice의 annotation-driven DI의 인기와 영향력 앞에서 드디어 과감하게 무너졌다. 사실 새로운 annotation-driven DI는 XML설정방식을 기계적으로 annotation에 옮긴 것이 아니다. 필요에 따라서 매우 세밀하고 의도적인 방식의 DI를 할 수 있는 상당히 새로운 개념이다. SpringOne에서 AD-DI가 처음 발표되었을 때 사람들의 반응은 사용된 어노테이션이 좀 어설프지 않느냐 하는 의견이 있었다. I21개발자 블로그에서 지속적으로 기능과 스펙의 변경이 소개되고, 이후에 포럼과 이슈트래커에서 많은 논의를 거쳐오면서 지금의 매우 완성도 있는 AD-DI가 나오게 된 것이다. Sandbox를 통해서 여러가지 새로운 편리한 신규 컨트롤러와 CoC등을 검토해오던 SpringMVC도 AD-DI의 확장개념의 좋은 케이스가 될 수 있을 것이다. 스프링은 매우 유연하다고(extremely extensible) 항상 강조해오던 로드 존슨의 말대로 AD-DI는 새로운 3-rd party또는 In-house의 extended AD-DI의 길을 열어주었다. Namespace방식의 XML설정 확장기능이 스프링 기반의 프레임워크, 솔루션에 많은 힘을 실어주었듯이 AD-DI도 Spring Portfolio의 확장에 큰 몫을 하지 않을까 하는 기대가 있다. 하지만 이렇게 다양한 방식의 설정방식을 어떻게 적용해야 하는지에 대한 best practice가 아직 충분히 알려지지 않았기 때문에 한동안 설정방식에 대한 혼란이 있지 않을까하는 약간의 우려가 있다. 지금 새롭게 작성하고 있는 스프링서적의 IoC/DI 파트에는 기초 개념과 함께 설정방식의 선택에 대한 참조할 만한 가이드를 삽입하려고 생각중이다.

 

스프링의 모듈-패키징 아키텍처의 뛰어남은 이미 일년전에 TSE에서 Juergen Hoeller가 충분히 잘 설명한 바 있다. 이제는 한걸음 더 나가서 스프링의 jar파일 자체가 그대로 하나의 완벽한 OSGi bundle로 사용될 수 있도록 재구성 되어있다. 스프링이 OSGi기반의 신규 미들웨어와 서비스에 적극적으로 사용되고 있는 것만 보아도 앞으로 다가올 OSGi기반의 플랫폼이 주도하는 시대에 스프링이 또 얼마나 큰 역할을 담당하게 될지 기대가 된다. JEE7의 전문가그룹에 대거 스프링 개발자들이 포진해 있다는 사실을 봐도 JEE7의 플랫폼 아키텍처의 모습이 대충 짐작이 가지 않는가?

 

부가적인 기능이긴 하지만 사실 내게 가장 반가운 신규기능 중의 하나는 바로 JUnit4의 지원이다. TestNG는 안쓰니까 상관없지만 메인 테스트 코드를 JUnit4를 이용해서 작성하면서, 스프링 테스트는 모두 JUnit3를 써야했던 불편함을 이제는 더 이상 겪지 않아도 될 것이다. 사실 SpringTest모듈의 클래스 계층구조가 JUnit4/3의 동시지원으로 구성하기에는 대대적인 수정이 필요하다는 Juergen Hoeller의 고민을 들은 적이 있다. 왜냐면 그 기초구성을 로드 존슨이 해놓은 것이라서 함부로 건드리기가 부담스러웠던 것 같다. 하지만 끊임없는 JUnit4/TestNG지원의 요구가 있었던 만큼 이번에는 확실하게 추가 되었다. 슬슬 Spring2.5 코드베이스를 살펴볼 생각인데 가장 먼저 테스트 모듈을 봐야하지 않을까 싶다.

 

아무튼 큰 부담을 가진 새 버전 개발에 아마도 평일과 주말 밤낮을 온통 쏳아야 했을 Juergen Hoeller와 코어팀 멤버들에게 박스를 보낸다.

 

그동안 블로그를 게을리 쓴데에 대한 보상으로, 앞으로 한동안 Spring 2.5의 새로운 AD-DI에 대해서 연재를 해볼까 싶다.

 

아아… 스프링이 그렇듯이 내 포스팅 시기는 예측할 수 없다 :p

Related posts:

  1. Spring Framework 1.1.3 released
  2. Spring Framework 1.1.2 released
  3. Spring 3.0 (29) M2 Released
  4. 나의 Spring Acegi Security Framework 학습기
  5. Spring Framework 3.0.3 릴리스 & 의존 라이브러리
  6. Java Web Framework 비교(Struts, Spring, WebWork, Tapestry, JSF)
  7. EasyMock 2.1 Released
  8. Hibernate 3.0 released!
  9. 스프링과 하이버네이트를 이용한 RAD프레임워크 – OSAF(OpenSprout App. Framework) 공개
  10. Application Framework 개발의 원칙
  11. A Framework is… / Kent Beck
  12. Spring 2.0의 XML확장기능 (1)
  13. 유쾌한 이슈처리 재촉 메일
  14. TSE에 못 간 당신이 할 수 있는 일 10가지 그리고 Spring In Action2판
  15. Spring 3.0 (35) Spring 3.0 Reference Document 공개

Facebook comments:

to “Spring Framework 2.5 Released”

  1. I reall liked your writing style and the blog design is also wonderful. USPS liteblue is for good employees.Click here

  2. Thank you for your blog article.Thanks Again.

  3. What kind of camera was used? That is definitely a really good superior quality.

  4. Excellent way of telling, and good article to obtain data about my presentation subject matter, which i am going to deliver in university.

    My blog post: CBD oils

  5. This awesome blog is without a doubt entertaining as well as diverting. I have picked a lot of useful things out of this blog. I ad love to go back every once in a while. Thanks a lot!

  6. Wow, wonderful blog layout! How long have you been running a blog for? you make blogging look easy. The whole look of your site is great, let alone the content!

  7. Im obliged for the article.Really looking forward to read more. Cool.

  8. I reall liked your writing style and the blog design is also wonderful. USPS liteblue is for good employees.Liteblue

  9. This is a really good tip particularly to those new to the blogosphere. Short but very precise information Many thanks for sharing this one. A must read article!

  10. I know this if off topic but I’m looking into starting my own blog and was wondering what all is needed to get set up? I’m assuming having a blog like yours would cost a pretty penny? I’m not very web savvy so I’m not 100 positive. Any tips or advice would be greatly appreciated. Appreciate it|

  11. Very good written Very good written article. It will be beneficial to everyone who employess it, as well as myself.

  12. Wow, what a video it is! In fact pleasant quality video, the lesson given in this video is truly informative.

  13. Hi there, You’ve done an incredible job. I’ll certainly digg it and personally suggest
    to my friends. I’m sure they will be benefited from
    this web site.

    my webpage CBD oil for pain

  14. You have noted very interesting details! ps nice internet site.

  15. This particular blog is obviously awesome and factual. I have picked up a lot of useful advices out of this source. I ad love to visit it over and over again. Thanks a lot!

  16. Nbivbm lqfcwn is there a generic for cialis erection pills viagra online

  17. It as great that you are getting ideas from this article as well as from our argument

  18. Im thankful for the article.Thanks Again. Much obliged.

  19. It as hard to come by experienced people for this topic, but you sound like you know what you are talking about! Thanks

  20. Hi there, i read your blog from time to time and i own a similar one and i was just wondering if you get a lot of spam comments? If so how do you protect against it, any plugin or anything you can advise? I get so much lately it’s driving me mad so any help is very much appreciated.|

  21. This is a great tip particularly to those fresh to the blogosphere. Simple but very accurate info Appreciate your sharing this one. A must read article!

  22. This is one awesome post.Thanks Again. Much obliged.

  23. Your style is very unique compared to other people I ave read stuff from. Many thanks for posting when you have the opportunity, Guess I will just book mark this site.

  24. Thanks for helping out, excellent info. Nobody can be exactly like me. Sometimes even I have trouble doing it. by Tallulah Bankhead.

Leave a Reply to Hilario Imme Cancel 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