2013년 9월 26일 목요일

[스프링3.2강좌]스프링 컨텍스트, ApplicationContext, Spring Framework3.2, BeanFactory - BeanFactory의 모든 기능 제공(BeanFactory 인터페이스를 상속) - 스프링에서 권장하는 방식

[스프링3.2강좌, 스프링교육, 스프링강좌]스프링 ApplicationContext, Spring Framework3.2, BeanFactory
 
- BeanFactory의 모든 기능 제공(BeanFactory 인터페이스를 상속)

- 스프링에서 권장하는 방식으로 스프링 DI 뿐 아니라 트랜잭션, AOP 서비스, 국제화를 위한 메시지 소스, 애플리케이션 이벤트 처리

- Spring Framework2.5 이상부터 ApplicationContext 설정시 자바 애노테이션을 지원
 
- XML ? Annotation 방식
 
  XML 설정 방식을 쓰면 모든 설정을 자바코드로 부터 외부 XML에 둠
  애노테이션 방식의 경우 자바코드 내에서 DI 설정을 정의
  둘 동시에 사용되는 경우 XML 설정이 우선
  주로 데이터소스, 트랜잭션매니저, JMX, JMS커넥션팩터리등 애플리케이션 
- 인프라스트럭처에는 XML 파일에 저장하고 DI 설정은 애노테이션에서 정의.
 
- Context 시작 시 모든 Singleton Bean을 미리 로딩(preloading) 시킴-> 초기에 설정 및 환경에 대한 에러 발견 가능함

- 다수의 ApplicationContext 구현 클래스 제공, 다양한 Resource 로딩 방법 제공
(XmlWebApplicationContext,FileSystemXmlApplicationContext,ClassPathXmlApplicationContext)

- Spring의 AOP기능, 메시지 자원 핸들링, 이벤트 위임, 웹 어플리케이션에서 사용하기 위한 WebApplicationContext와 같은 특정 어플리케이션 컨텍스트를 이용한 통합과 같은 다른 기능을 추가 제공한다

 
[ApplicationContext(애노테이션 기반 스프링 설정 XML  파일) 예제]
 
<description>Example configuration to get you started.</description>
<context:annotation-config/>
<context:component-scan base-package="onj.mall.app" />
</beans>
 
 beans를 기본 네임스페이스로 설정
 context 네임스페이스 : ApplicationContext 설정지원
 p 네임스페이스 : 세터주입을 쉽게 하기 위한 DI설정 제공
 c 네임스페이스 : 생성자주입을 쉽게 하기 위한 DI설정 제공
 util 네임스페이스 : DI설정에 유용한 유틸리티 제공

댓글 없음:

댓글 쓰기