티스토리 뷰

DEV/Spring 3.0

스프링(Spring)

초록매실원액 2015. 11. 26. 17:43
*스프링 3.0 - Java5와 완벽호환 및 JavaEE 6 일부 스펙지원
*스프링의 세가지 핵심 프로그래밍 모델
- Ioc/DI
- 서비스 추상화
- AOP
*스프링 3.0 의  주요특징
- Spring expression language (SpEL): 빈을 정의하는데 사용하는 핵심 expression 파서로,  property 값에서 #{...} 문법을 통해  nested된 빈 구조(예: 다른 빈의 속성)와 환경 데이터 구조(예: 시스템 속성 값)를 참조할 수 있습니다.
- Annotation 기반 컴포넌트의 지원 확장: 스프링 JavaConfig로 알려진 configuration 클래스와 annotation 팩토리 메소드 개념입니다. 스프링은 또한 동적 #{...} 표현이나 정적 ${...} 변수(placeholer)을 통해 값을 주입하기 위해 @Value 표현을 사용할 수 있습니다.
- 막강한 스테레오타입 모델: 메터 annotation을 이용해 '축약(shortcut)' annotation을 생성할 수 있습니다. 예를 들어 나만의 기본 스코프, 기본 트랜잭션 특성을 사용자 정의 스테레오타입으로 만든다면, @Service, @Scope("request") 그리고 Transactional(realDonly=true)를 나의 annotation으로 가르키는 @MyService 란 annotation을 생각해 볼 수 있습니다.
- 표준 의존성 주입 annotation: 스프링 3.0은 @Inject 자바 annotation 기반 주입을 위한 JSR-330 스펙을 완벽히 지원합니다. 스프링 고유의 @Autowired 대신 사용하거나 같이 사용할 수 있습니다.
- 제약 annotation을 기반으로한 선언적 모델 검증(validation): Hibernate Validator 4.0과 같은 스프링 스타일의 JSR-303 빈 검증 프로바이더입니다. 스프링 MVC에서도 annotation 으로 검증 옵션을 제공합니다. 스프링의 바인딩 결과 장치를 통해 제약 정합성 검증의 단일화된 뷰를 나타나게 되었습니다.
(역주: 입력값 검사 같은 걸 말합니다. 한글말 찾기 어려워요 ㅠㅠ)
향상된 바인딩과 annotation 기반 포맷팅: 컨버터와 포맷터 SPI가 표준 PropertyEditor로 교체됩니다. 포맷팅은 @DateTimeFormat 같이 JSR-303 constraints 비슷한 모습의 annotation으로 됩니다. 또한 스프링 MVC에서 편리한 포맷팅과 검증 설정을 위한 새로운 mvc 네임스페이스도 확인해 보세요.
(역주: SPI - Service Proivider Interface 약자로 인터페이스 스팩이 있고 이 인터페이스에 대한 실체 구현체는 제품마다 또는 필요할 때마다 제공할 경우 이 인터페이스를 SPI라고 말합니다.)
(역주: 네임스페이스 - 스프링 xml contig에서 <bean ...> 외에 별도의 네임스페이스를 포함할 때 그 기능들의 특별한 태그를 쓸 수 있는데 이걸 이야기 합니다. xml config가 더 간단하고 읽기 쉬워집니다.)
포괄적인 REST 지원: REST 스타일 request 매핑과 같은 스프링 MVC 본래 REST 기능, @PathVariable 파라메터를 통한 URI 변수 추축 그리고 content negotiation 으로 결정되는 view 결정을 지원합니다. RestTemplate 클래스 같은 방법으로 Client 쪽 REST도 가능합니다.
(역주: content negotiation - HTTP 요청에서 수락가능한 컨텐츠 정보 헤더. 즉 Accept 종류의 헤더들, http://greatkim91.tistory.com/13 에서 마지막에서 두번째 장 참조해 보세요 )
Rich Portlet 2.0 지원: 스프링 MVC는 Portlet 2.0 환경과 Portlet 2.0의 새로운 이벤트와 자원 요청 모델을 완벽히 지원합니다. 일반적인 portlet 요청 특성을 위해 특화된 매핑 장치도 포함합니다. @ActionMapping, @RenderMapping, @ResourceMapping, @EventMapping 같은게 있습니다.
객체/XML 매핑 (OXM): 스프링 웹 서비스로 알려진 것들이 이제 스프링 프레임워크 코어로 포함됩니다. 뛰어난 마셀링과 언마셀링 추상화로 JAXB 2, Castor 등을 지원합니다. 스프링 MVC와 스프링 JMS에서도 통합된 XML 처리 옵션을 지원합니다.
- 차세대 스케줄링 능력: 새로운 TaskScheduler와 Trigger 메커니즘이 최고의 cron을 지원합니다. 스프링 3.0에는 편리한 작업 네임스페이스가 있고 @Async과 @Scheuduled annotation도 지원합니다. 이것은 네이티브 쓰레드 풀 위에서나 서버가 관리하는 쓰레드 풀위에서 실행될 수 있습니다.


'DEV > Spring 3.0' 카테고리의 다른 글

오브젝트와 의존관계  (0) 2015.12.13
서버 에러코드  (0) 2015.11.30
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함