기다리던 M2의 최종 릴리즈는 기한을 넘긴채 아직 별 소식이 없다. 마지막 남은 이슈 하나만 해결되면 될 것 같은데 지연되고 있는 것은 혹시 내부에서 M2 발표에 대해서 좀 더 신중을 기하자는 논의가 있는 것이 아닌가 모르겠다. M2까지 진행됐으면서도 아직 레퍼런스 매뉴얼이나 제대로된 샘플조차 제공되지 않고 있는 부분에서 아무래도 마일스톤 버전의 공개가 가지는 효과를 반감시킬 수 있다는 지적이 있을 법도 싶다.

 

Spring Expression Language

레퍼런스 매뉴얼과 충분한 샘플이 없는 상태에서 가장 좋은 학습방법은 바로 테스트코드를 보는 것이다.

3.0에서 추가된 대표적인 기능 중의 하나는 스프링 전용의 expression language(근데 이걸 뭐라 번역하나..)를 지원한다는 것이다. 

처음 EL 소식을 듣고는 view에서 사용할 것도 아니고 구지 EL이 뭐가 필요할까라고 의문을 가졌는데 지난 S1A에서 본 SpringSecurity의 데모를 보고 그 필요성을 알게됐다. 설정의 일부이면서 런타임시 값의 평가(evaluate)가 필요한 영역에 적합한 용도라는 생각이다. 좀 더 사용예를 찾아봐야겠지만, 그런 케이스는 적지 않으리라고 본다.

 

@Value

EL의 특별한 케이스로 @Value 태그가 있다. 2.5에서 등장한 @Autowired와 같은 애노테이션 방식의 DI에서 불편했던 점은 다른 빈의 레퍼런스가 아닌 값(value)을 넣는 것이 불가능하다는 점이었다. 스프링의 설정에서 value라는 것은 단지 int, string 정도의 타입만을 말하지 않는다. PropertyEditor라는 개념을 이용해서 매우 다양한 타입의 오브젝트로 변환이 가능한 것이 스프링의 value 프로퍼티이다.  그래서 2.5에서 설정에서 value를 넣어야 하는 빈이 있을 때는 어쩔 수 없이 XML로 빼내야 하는 번거로움이 있었다.

하지만 3.0에서는 @Value라는 것을 이용해서 값을 직접 넣을 수 있다. 필드(또는 세팃용 메소드)앞에 @Autowired @Value("myvalue…")  형식으로 사용하면 된다.

여기서 단순한 고정값 뿐 아니라 다이나믹한 평가값을 넣을 수 있게 하기 위해서 EL이 등장한다. 예를 들어 다른 빈의 프로퍼티 값을 읽어서 value로 사용하고 싶다면,

@Value("#{otherBean.name}")

과 같은 식으로 사용할 수 있다. 또 시스템의 프로퍼티 값을 읽거나 Scope의 컨텍스트 값을 가져올 수도 있다.

당연히 일반적인 EL의 평가값을 가져오는 것도 가능하다.

@Value("#{1 > 2}")

@Value("#{ ‘[' + myDataSource.driverName + ']‘})

이런 스타일도 가능하다.

 

요즘 3.0으로 실무에 사용될 간단한 애플리케이션을 개발하고 있다. (고객 사이트를 마루타로 -_-) 당장에 value 설정을 위해서 XML에 빈을 직접 넣어야 하는 작업이 없어진 것만으로도 매우 편한 느낌이다.

EL이나 @Value에 대해서 알고 싶으면 스프링소스의 해당 Test코드를 잘 분석해보면 된다. @Value의 사용법을 보고 싶다면 context 모듈의 ApplicationContextExpressionTests클래스를 살펴보기 바란다.

Related posts:

  1. Spring 3.0 (12) Expression 모듈의 선택 라이브러리 분석
  2. Spring Expressions(SpEL)를 이용한 Mockito Argument Matcher 만들기
  3. Spring 3.0 EL (Spel)을 이용한 AssertThrows 확장 (3)
  4. Spring 3.0 EL (Spel)을 이용한 AssertThrows 확장 (2)
  5. Spring 3.0 (10) AOP 모듈의 선택 라이브러리 분석
  6. Spring 3.0 (53) Spring Dependency Matrix 업데이트
  7. Spring 3.0 (42) Spring Dependency Matrix 업데이트
  8. Spring 3.0 (35) Spring 3.0 Reference Document 공개
  9. Spring 3.0 (7) Spring 3.0 Dependency Matrix
  10. 유쾌한 이슈처리 재촉 메일
  11. Spring 3.0 (38) Spring Reference 업데이트
  12. Spring 3.0 (44) Spring 3.0과 JEE6
  13. Spring 3.0 (4) – Maven에서 Spring 3.0 최신버전 사용하기
  14. Spring 3.0 (28) R-669 Update
  15. Spring 3.0 (45) Spring 3.0 M4 버전 추가

Facebook comments:

to “Spring 3.0 (26) Spring Expression Language와 @Value”

  1. Great web site you have got here.. It’s difficult to find high quality writing like yours these
    days. I honestly appreciate people like you! Take
    care!!

  2. Very interesting info!Perfect just what I was searching for!

    my website :: http://vitalsourcecbd.com/

  3. When the professional network has many thousands of members,
    the master can anticipate a specific area of the members will click through the advertising and thereby estimate simply how much revenue he can gain. Instead, you
    could send email offers but ALWAYS offer these
    recipients an opportunity to unsubscribe if they feel to.

    I’m guessing they enjoy most of the people you do have a full-time job along
    with other responsibilities, and although plunking upon the couch at the end with the day and activating the TV may seem
    as being a great way to relax, you almost certainly have way too many TV channels.

  4. 정부가 영종도를 경제 자유 구역청에
    관리 지정하고 연간 재무보고서를 보면
    카지노. 지방으로 카지노 승률 내려갔다가 카지노 3만 다시 돌아온 박경선은 카지노 환전 알바
    최대 내기를했다. ¹골든스테이트 2007-08시즌
    승률 58.5 서부컨퍼런스 9위 피닉스 2008-09시즌 승률 56.1 9위
    플레이오프 진출 실패. 오클라호마시티는3년
    연속 플레이오프 1라운드 문턱을 넘지 못했다.
    첫 2 카드가 동일할 경우 플레이어가 11대 1 11배 로
    상금을 향해 달린다. 그 중 트럼프라는 카드가 만들어졌고 트럼프카드를 이용한 다양한 게임을 발명하기 시작했습니다.
    방법을 다양한 종류의 bot이 있는데 실제로 잘못된 도시에있을 수 있습니다 것 쉬운 일일까요.
    유튜브등 다양한 온라인 플랫폼을 통해 노래를 불법 알린
    후 해외 공연사의 초청을 받는 경우가이제는 많습니다.
    오늘의 방송은 클릭 일자별 요약성적표
    및 사설 토토사이트 에 대하여 저희는 불법.
    내용은 당사 웹 web 기반 불법 경마사이트를 개발·운영해
    4300억원 규모의 사설 토토㎳ oscs. 한국전력 19일 사설 온라인카지노에
    접속해 인도네시아 프로축구리그 소속 PSGC
    치아미스 경기와 복싱 경기를 관람합니다.
    바이에른 뮌헨 경기를 갖는다. 허허허허허 넷마블 경마 대단한 경마 통계앱이야.
    불안해하는 메이는 혼자 엄마를 대신해 아빠와 동생을 돌봐야 하기 때문에
    힘든 경마 대회다.

    My page 바카라쿠폰

  5. dfg
    Link exchange is nothing else except it is just placing the other person’s webpage link on your
    page at proper place and other person will also do similar in favor of you.

  6. I wanted to thank you for this good read!! I certainly loved every little bit
    of it. I’ve got you saved as a favorite to check out new things you post?

    Visit my blog post :: Keto Enhanced Diet

  7. Hi my loved one! I want to say that this article is amazing, great written and include almost all significant infos.
    I would like to look more posts like this .

  8. Hmm it appears like your site ate my first comment (it was super long) so I guess I’ll just sum it up what I submitted and say, I’m thoroughly enjoying your blog.
    I as well am an aspiring blog writer but I’m still new to everything.

    Do you have any suggestions for novice blog writers?

    I’d definitely appreciate it. http://onlinecasinounion.us.com

    Here is my blog: slots online

  9. This is a good tip especially to those new to the blogosphere.
    Simple but very precise info… Thank you for sharing this one.
    A must read article! thiết kế toilet https://nhalouis.com/mau-wc-dep

  10. There’s definately a lot to find out about this issue.
    I really like all the points you’ve made.

  11. It’s appropriate time to make some plans for the future and it is time to be happy.
    I have read this post and if I could I desire
    to suggest you few interesting things or advice. Perhaps you could write
    next articles referring to this article. I want
    to read more things about it!

    Take a look at my blog Mass M1X Male Enhancement

  12. I for all time emailed this weblog post page to all my friends, because if like to read it then my friends will too.
    cải tạo sửa chữa nhà https://nhalouis.com/sua-chua-cai-tao-nha

  13. I always spent my half an hour to read this web site’s articles or reviews daily along with a cup
    of coffee.

  14. Wonderful blog! I found it while surfing around on Yahoo News.

    Do you have any tips on how to get listed in Yahoo News?
    I’ve been trying for a while but I never seem to
    get there! Thanks

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