본문 바로가기
개발/JAVA

Spring Container의 객체 제공 유형

by pastry 2015. 1. 20.

BeanFactory

ApplicationContext

 

두개의 Factory 모두 역활은 동일하다.

 

공통점 :

BeanFactory factory & ApplicationContext factory

Bean을 로딩하고 묶어주고 요청에 따라 반환

 

차이점 :

 

BeanFactory factory

getBean()메소드가 호출되기 전까지는 bean을 생성하지 않음

 

ApplicationContext factory

Context가 시작되기 전에 모든 SingleTon bean을 미리 로딩함

빠르게 bean을 반환시켜주는 장점

 

초기화기시키 위해 사용되는 클래스들

 

1-1. XmlBeanFactory(res)

:Resourse객체를 사용해서 Context 정의 파일을 로딩하는 단순한 BeanFactory

 

BeanFactory의 역활

1. XML파일에 등록되어 있는 Bean객체를 생성함

2. Bean에 필요한 다양한 속성을 설정해줌

3. 생성된 객체의 life Cycle을 관리해줌

 

Resource res=new ClassPathResource("config.xml");
BeanFactory cxt=new XmlBeanFactory(res);

 

1-2. ClassPathXmlApplicationContext()

:클래스경로로 부터 Context 정의 파일을 로딩하는 어플리케이션 Context

 

ApplicationContext factory = new ClassPathXmlApplicationContext("config.xml");

 

1-3. FileSystemXmlApplicationContext()

:파일 시스템으로부터 Context 정의 파일을 로딩하는 어플리케이션 Context

 

1-4. XmlWebApplicationContext()

:웹 어플리케이션 Context로 부터 Context정의파일을 로딩하는 어플리케이션 Context

댓글