'스프링마법'에 해당되는 글 1건

  1. 2009.02.27 [스프링 소스 까보기] 스프링의 마법은 정말 마법인가?
봄싹2009. 2. 27. 11:47
음.. web Application 을 만들다 보면 컨트럴 단의 가장 심한 반복 중 하나는 request객체에서 화면에서 넘긴 파리미터 값을..
꺼내 오는 작업이다..
하지만.. 스프링 MVC를 쓴다면....... 놀라운 마법을 경험할 수 있다.
@RequestParam 어노테이션을 이용해서 값을 바인딩 할 수도 있고 .. 그냥 인자값으로 적어도 값을 받을 수 있고..
객체를 인자값으로 적어 줘도 값을 받을 수 잇다..
컨트럴의 메소드중...
public String money(Money money,String id){
}
Money.java
...........
private Strind id;
...........

이렇게 한다면 화면에서 id를 파라미터로 넘기면 id도 바인딩되고 ... money.id 에도 똑같은 값이 바인딩이 된다..
이건.. 스프링을 사용해본 사람이라면 다들 경험하는 일일껏이다..
하지만 가끔은 혼동이 온다.. 다 자동으로 바인딩한다면;;
흠.. 무튼.. 이러한 마법을 부려 주는 곳이 어딜까 뒤져뒤져 찾아 보았다..

스프링 2.5.6 버전 기준으로 HandlerMethodInvoker.java 144 line..


소스를 자세히 들여다 보면 JAVA reflect 을 활용해서 ... 열심히 바인딩 해주는 모습을 볼수가 있다..
스프링의 마법은 어쩌면 JAVA reflect을 자유 자제로 다루는 스프링 개발팀이 일구어낸 작품일 것이다.
물론 스프링이 최고아 ! 라는 흑백논리보단.. 이러한 것들을 생각하고 만들어낸 스프링 개발팀이 멋있을 따름이다..

아직도 스프링의 마법같은 기능들에 대해서 10/1도 알지는 못하지만...
로그 레벨을 Trace로 걸고 스프링 소스들을 살펴보는건 나에겐 무척 즐거운 놀이감이다!!

스프링 마법 만쉐이~~~~~~~~!!
Posted by is윤군

댓글을 달아 주세요