[maven] 버전 범위 지정 비추합니다.

아주 위험합니다. 스프링 같이 하위 호환성을 매우 잘 유지시켜주는 프레임워크나 라이브러리를 의존성으로 추가하는 경우에나 버전 범위를 지정하면 모를까.. 그 이외의 JUnit을 포함한 Twitter4J 같은 라이브러리는 전혀 하위 호환성이 유지 되지 않기 때문에 조심해야 합니다.

버전은 꼭 명시적으로!!!!


[maven] 역시 나만 불편한게 아니였어.

[xml]
<sourceDirectory>src/main</sourceDirectory>
<testSourceDirectory>src/test</testSourceDirectory>
<resources>
<resource>
<directory>src/main</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test</directory>
</testResource>
</testResources>
[/xml]

 

이 코드는 스프링 소스 직원이 3.1 m1 예제 코드에서 작성한 메이븐 설정 파일인데 지금 내가 사용하고 있는 코드와 거의 비슷한 구조로(완전히 같지는 않고 설정도 뭔가 미흡해 보이지만) 사용하고 있는 코드를 발견했습니다. 이미 오래전부터 여러번 포스팅 했던 내용인지라.. 또 쓰고 싶진 않네요.ㅋㅋ

암튼.., 메이븐 기본 패키지 구조는 너무 불편합니다.

1. depth가 필요 이상으로 깊어지고.

2. 소스와 관련된 설정을 찾기가 힘들고

3. 처음 보는 사람에게는 낯설답니다.

마치 빌드계의 EJB라고 할까나.. 하지만 다행인 것은 패키지 구조를 얼마든지 설정을 사용해서 원하는 대로 고쳐서 쓸 수 있다는 거…

Plain Old Java Proejct Structure(POJPS)를 원한다!!

스프링 3.1 빈 프로파일과 Environment

최근 스프링소스 블로그에 계속해서 스프링 3.1 m1에 추가한 최신 기능을 소개하는 글이 올라오고 있습니다. 회사를 옮긴 뒤로는 도무지 블로깅할 시간이 나지 않아서 많이 뜸해졌지만, 퇴근 길에 시간이 좀 생겨서 읽은 내용을 간략하게 요약해 봅니다. 시간나면 하나씩 실습해보고 올리겠습니다.

http://blog.springsource.com/2011/02/11/spring-framework-3-1-m1-released/

이 글이 시작인데, XML 기반 설정에서 빈 프로파일을 사용하는 방법을 설명하고 있습니다. 여기서 사용한 예제 코드도 공개했고, 해당 블로그 글에서 간략하게 소개해 주고 있는데, 개발 단계에서 사용하는 DataSource와 배포 단계에서 사용하는 DataSource  빈이 다를 때 빈 프로파일을 사용해서 해결하는 방법을 보여줍니다.

이 글을 읽으면서 두 가지에 감동했는데, 하나는 읽는 사람을 몰입시키는 순탄한 글솜씨와 아주 깔끔한 기능 설계입니다. 저도 이런 기능이 필요함을 느끼고 어떻게 해결해야 하나 고민을 했었는데 이것처럼 깔끔한 방법을 고안하진 못했었습니다. 역시 스프링소스 개발자들은 능력자라는 생각이…

http://blog.springsource.com/2011/02/14/spring-3-1-m1-introducing-profile/

이번 글은 첫번째 글에 이어지는 내용으로, 첫번째 글에서 했던 작업을 똑같이 자바 설정으로 하는 방법을 소개합니다. 3.1에는 본격적으로 자바 설정을 강화하려는 움직임이 너무도 뚜렸하게 보입니다. 인터페이스까지 활용해서 빈 프로파일을 활용하는 방법을 보는 순간.. 또 한번 감동했습니다.

http://blog.springsource.com/2011/02/15/spring-3-1-m1-unified-property-management/

이 글까지가 사실 상 하나의 묶음입니다. 빈 프로파일과 Environment로 묶음 이유도 그 때문입니다. 이전까지 시스템 프로퍼티와 Environment 프로퍼티를 사용할 수 있었는데 3.1 m1ㅂ 부터는 이 둘과 커스텀 프로퍼티 소스까지 묶어서 Environment라는 인터페이스로 사용할수 있어서 플레이스 홀더 활용성이 높아졌습니다. 그리고 이전까지 살펴봤던 빈 프로파일도 Environment에서 설정합니다.

그럼데 아직도 스프링  3.1 m1에서 살펴볼 주요 기능이 남았습니다.

  • 피쳐스팩과 MVC 자바 설정
  • 캐시 추상화

스프링 3.1에 추가될 <mvc:argument-resolvers> 오예~

[xml]
<annotation-driven>
<argument-resolvers>
<beans:bean class="org.springframework.mobile.device.site.SitePreferenceWebArgumentResolver" />
</argument-resolvers>
</annotation-driven>
[/xml]

이런식으로 사용할 수 있습니다. 왜 이전에 봤던 3.1 설정 간편화 동영상에서는 소개해주지 않았는지 의아할 정도네요. 이 좋은 기능을!!!

Whiteship’s 스프링 트러블슈팅 서비스

그동안 제 블로그 방명록이나 이메일로 스프링 관련 이슈를 문의해 오신 분들이 제법 있습니다. 블로그를 티스토리에서 워드프레스로 옮긴 뒤로는 질문이 많이 줄었지만 그래도 다시 간간히 질문이 올라오더군요. 그 중에서도 스프링 관련 질문, 또 그 중에서도 문제 상황만 골라서 해결해 드리고자 합니다. 제 블로그 방명록 옆에 새로 페이지를 만들어 뒀습니다.

whiteshipspring

많이 이용해 주세요.

무료랍니다.