본문 바로가기
🌈 백엔드/스프링 프레임워크

BeansFactory & AppicationContext

by 개발자 알마 2023. 9. 4.
반응형

 

 

[2] 스프링 컨테이너 구성


(1) BeansFactory 

Bean을 관리하는 컨테이너

BeanFactory 계열의 인터페이스만 구현한 클래스는 컨테이너에서 객체를 생성하고 DI를 처리하는 기능만 제공한다

Bean을 등록,생성, 조회, 반환 관리를 한다 

빈을 생성하고 분배하는 책임을 지는 클래스이다 

Bean을 조회할수 있는 getBean()메서드가 정의된다 

BeanFactory는 확장한 ApplicationContext에서 주로 사용한다 

bean을 생성,연결 등을 하는 기능이 정의된 인터페이스 

 

 

(2)AppicationContext

 

 

BeanFactory를 확장하여 추가 기능을 정의한 인터페이스이다 
스프링 컨테이너와 비슷한 기능을 가지고 있다

 

설정 방식이 XML 인지 JAVA config 인지에 따라 대표적으로  4가지로 나눌수 있다 

ApplicationContext 종류  XML 설정 JAVA Config 코드 설정 (주사용)
웹 X GenericXmlApplicationContext AnnotationConfigApplicationContext
웹 O XmlWebApplicationContext AnnotaionConfigWebApplicationContext

 

(3) BeansFactory와 AppicationContext 차이점

 

  BeanFactory ApplicationContext
Bean instantiatioer/wring O O
Integrated lifecycle management   O
Automatic BeanPostProcessor registeation   O
Automatic BeanFactoryPostProcessor registration   O
Convenient MessageSource access    O
Built-in ApplicationEvent publication mechanism   O

 

(4) ApplicationContext 메서드 

config.xml 파일에 아래 내용은 기본으로 있어야 조회가 가능하다. 

 

@Component 객체 자동등록 

@Scope 빈의 사용범위 설정 

@Value 빈으로 등록된 객체에서 값을 주입받을때 

@Autowired 객체 자동연결 (Type 방법)

메서드 참고 

반응형

댓글