-
[스프링] ApplicationContextIT 발자취.../스프링 2018. 12. 12. 20:08
스프링에서 ApplicationContext 인터페이스는 BeanFactory를 상속한다.
ApplicationContext는 DI 서비스뿐 아니라 트랙잰션과 AOP 서비스,
국제화를 위한 메시지 소스(i18n), 애플리케이션 이벤트 처리 등
다른 서비스도 함께 제공한다.
스프링 기반의 애플리케이션을 개발 할 때는
ApplicationContext 인터페이스를 통해 스프링과 연동하는 방식을 권장합니다.
스프링은 직접 작성한 코드를 통해
ApplicationContext를 부트스트랩할 수 있게 지원하고
(ApplicationContext를 직접 인스턴스화하고 적절한 설정을 로드)
웹 컨테이너 환경에서는 ContextLoaderListener를 통한 부트스트랩도 지원한다.
ApplicationContext의 설정
(XML 및 자바 애노테이션 설정)XML설정
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:c="http://www.springframework.org/schema/c" xmlns:util="http://www.springframework.org/schema/util"context: context 네임스페이스는 스프링의 ApplicationContext를 설정하는 지원 기능을 제공한다.
p : p네임스페이스는 세터 주입을 쉽게 할 수 있는 DI 설정을 제공한다.
c : 스프링 3.1에서 새로 추가된 c 네임스페이스는 생성자 주입을 좀 더 간편하게 할 수 있는 DI 설정을 제공한다.
util : util 네임스페이스는 DI 설정에 유용한 유팅리티를 제공한다.#애너테이션 지원 기능을 애플리케이션에서 사용하려면
<context:component-scan base-package="com.gintire"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> </context:component-scan><context:annotation-cong> 태그는 스프링이 코드 기반에서 의존성 요구 조건을 스캔하게끔 하고,
<context:component-scan> 태그는 스프링이 코드에서 지정된 패키지(및 하위 패키지) 아래에 있는 주입 가능한 빈을 모두 스캔하게끔 한다.
앞의 태그는 스프링이 지정된 패키지를 스캔하게 하지만 표현식에서 지정한 타입(클래스 또는 인터페이스)으로 대입할 수 있는 클래스는 제외시키게 했다. exclude 필터 외에 include 필터도 포함 시킬 수 있다. 타입으로는 annotation, regex, assignable, AspectJ, custom(org.springframework.type.filter.TypeFilter를 구현하는 커스텀 플티 클래스)을 필터 조건으로 지정할 수 있다.
expression의 형식은 지정한 type에 따라 다르다.'IT 발자취... > 스프링' 카테고리의 다른 글
[스프링] 스프링의 제어 역전 및 의존성주입2 (0) 2018.12.12 [스프링] 제어 역전 또는 의존성 주입1 (0) 2018.12.12 [스프링] 빈(Bean) 및 빈팩터리(BeanFactory) (0) 2018.12.12 [스프링] 스프링이란? (0) 2018.12.09 [IssueCase] java.sql.SQLException: Access denied for user ‘ID’@’xxx.xxx’ (using password: YES (0) 2018.12.09 댓글