스프링 프레임워크에서는 자신이 관리할 클래스들이 등록된 XML설정 파일이 필요하다.
스프링 설정파일 생성하기
해당 스프링 프로젝트 src/main/resources 소스폴더 선택, 마우스 오른쪽 버튼 클릭
new - other로 새로운 파일 생성하기
Spring폴더의 Spring Bean Configuration File 생성
파일 이름으로 "applicationContext.xml" 입력
스프링 컨테이너 종류
스프링에서는 BeanFactory와 이를 상속한 ApplicationContext 두 가지 유형의 컨테이너를 제공함
BeanFactory |
스프링 설정파일에 등록된 <bean> 객체를 생성하고 관리하는 가장 기본적인 컨테이너 기능만 제공 컨테이너가 구동될 때 <bean>객체를 생성하는 것이 아닌 클라이언트의 요청에 의해서만 <bean>객체가 생성되는 지연로딩(Lazy Loading) 방식 사용 일반적인 스프링 프로젝트에서 사용할 일이 별로 없음 |
ApplicationContext |
BeanFactory가 제공하는 <bean> 객체관리 기능 트랜잭션 관리나 메세지 기반의 다국어 처리 등 다양한 기능 지원 컨테이너가 구동되는 시점에 <bean>에 등록된 클래스들을 객체 생성하는 즉시로딩(pre-loading)방식 사용 대부분의 스프링 프로젝트가 이용하는 컨테이너 |
ApplicationContext의 대표적 구현클래스
구현클래스 |
기능 |
GenericXmlApplicationContext |
파일 시스템이나 클래스 경로에 있는 XML 설정 파일을 로딩하여 구동하는 컨테이너 |
XmlWebApplicationContext |
웹 기반의 스프링 애플리케이션을 개발할 때 사용하는 컨테이너 |
활용 예)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | package polymorphism; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.GenericXmlApplicationContext; public class TVUser { public static void main(String[] args) { //1.Spring 컨테이너 구동 AbstractApplicationContext factory = new GenericXmlApplicationContext("applicationContext.xml"); //2.Spring 컨터네이너로부터 필요한 객체 요청 TV tv = (TV)factory.getBean("tv"); tv.powerOn(); tv.volumeDown(); tv.volumeUp(); tv.powerOff(); factory.close(); } } | cs |
'건승하고있어요 > Spring framework' 카테고리의 다른 글
[Spring] 스프링1일차 - 의존성관리/생성자 인젝션(Constructor Injection) (2) | 2018.02.08 |
---|---|
[Spring] 스프링1일차 - 스프링 XML 설정 (0) | 2018.02.08 |
[Spring] 스프링1일차 - 프레임워크 개요 (4) | 2018.02.08 |
[Spring] 스프링1일차 - 환경설정하기 (5) | 2018.02.08 |
[MVC] MVC 패턴 (2) | 2018.02.08 |