Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

스프링 프레임워크 3.0의 새로운 기능 및 향상된 기능

Java SE와 Java EE 지원

스프링 프레임워크는 Java 5 기반이고, Java 6를 완전하게 지원함.

스프링은 J2EE 1.4와 Java EE 5와 호환되며, Java EE 6를 일찍부터 지원함.

1. Java 5

  • 제너릭(generic)이나 가변인자(varargs), 그 외 언어적 개선사항 같은 Java 5 기능의 이점을 취하도록 전체 프레임워크 코드를 수정함.
  • 제너릭 컬렉션과 맵의 일관된 사용, 제너릭 팩토리빈(FactoryBean)의 일관된 사용, 스프링 AOP API에서 브릿지 메서드의 일관된 해결책을 제공함.
  • 제너릭 애플리케이션리스너(Generic ApplicationListener)는 자동으로 특정이벤트의 타입만 받음.
  • TransactionCallback과 HibernateCallback같은 모든 콜백 인터페이스는 이제 제너릭 결과값을 선언함.
  • 전반적으로 스프링 핵심코드를 Java 5를 기반으로 새로 작성되고 최적화함.
  • Java 5의 java.util.concurrent와의 닫힌 통합(close integration)을 위해 스프링의 TaskExecutor 추상화를 수정함.
  • ExecutorService 어댑터, ThreadFactory 통합 뿐 아니라 이제 Callable과 Future를 지원하는 퍼스트 클래스(first-class)를 제공함.
  • 가능한 한 JSR-236(Java EE 6을 위한 동시성 유틸리티)과 맞춤.
  • 새로운 @Async 애노테이션(또는 EJB 3.1의 @Asynchronous 애노테이션)으로 비동기 메서드 호출을 지원함.

2. 개선된 문서

 

3. 새로운 글과 튜토리얼

 

4. 새로운 모듈 구조와 빌드 시스템

4.1. 새로운 모듈 구조

프레임워크 모듈을 수정하여, 모듈 jar별로 하나의 소스트리로 분리해서 관리함.

  • org.springframework.aop

  • org.springframework.beans

  • org.springframework.context

  • org.springframework.context.support

  • org.springframework.expression

  • org.springframework.instrument

  • org.springframework.jdbc

  • org.springframework.jms

  • org.springframework.orm

  • org.springframework.oxm

  • org.springframework.test

  • org.springframework.transaction

  • org.springframework.web

  • org.springframework.web.portlet

  • org.springframework.web.servlet

  • org.springframework.web.struts

4.2. 새로운 빌드 시스템

ex) 스프링 웹 플로우(Web Flow) 2.0

  • Ivy 기반의 스프링 빌드 시스템
  • 일관된 배포 과정
  • 일관된 의존성 관리
  • 일관된 OSGi manifest 생성

 

참고

전체 프레임워크를 대부분 포함하고 있는 spring.jar artifact는 더 이상 제공하지 않음.

5. 새로운 기능

5.1. Java 5를 위한 코어 API 업데이트

BeanFactory 인터페이스는 가능한한 타입이 있는 빈을 리턴함.

  • T getBean(Class<T> requiredType)

  • T getBean(String name, Class<T> requiredType)

  • Map<String, T> getBeansOfType(Class<T> type)

스프링의 TaskExecutor 인터페이스는 java.util.concurrent.Executor를 상속받음.

  • 상속받은 AsyncTaskExecutor는 표준 Callable와 Future를 지원한다.

Java 5 기반의 새로운 변환 API와 SPI

  • 무상태 ConversionService와 Converters
  • 표준 JDK PropertyEditors 대체함.

타입이 있는 ApplicationListener<E>

5.2. 스프링 표현 언어(SpEL)

5.3. 제어의 역전(IoC) 컨테이너

자바 기반 빈 메타데이터

컴포넌트안에서 빈 메타데이터 정의

5.4. 범용적인 타입 컨버전(형 변화) 시스템 및 필드 포맷 시스템

5.5. 데이터 계층

5.6. 웹 계층

포괄적인 REST 지원

@MVC 추가

5.7. 선언적인 모델 검증

5.8. Java EE 6를 위한 조기 지원

5.9. 임베디드 데이터베이스 지원

 

 

  • No labels