English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Spring 프레임워크에서 애플리케이션 컨텍스트와 Beanfactory 간의 차이

Spring 프레임워크는 Bean을 관리하고 구성하고操作하는 데 사용되는 두 가지 IOC 컨테이너를 제공합니다. 하나는 BeanFactory이고, 다른 하나는应用程序上下文입니다. 

Application Context 인터페이스는 BeanFactory를 확장하여 BeanFactory의 기능을 강화합니다. 

새로운 Spring 버전에서는 BeanFactory가 ApplicationContext로 대체되었습니다. 그러나 BeanFactory는 백컴파트성을 위해 존재합니다. 

Spring 2.0 및 이상 버전은 BeanPostProcessor 확장점을 사용합니다(인터페이스는 일부 콜백 메서드를 제공하며, 이를 통해 인스턴스화 로직, 의존성 해석 로직 등을 맞춤화할 수 있습니다). 따라서 BeanFactory를 사용하는 경우, AOP 및 트랜잭션 처리와 같은 일부 기능을 사용하려면 추가적인 구성이 필요합니다.

순번베인 팩토리응용 프로그램 환경
1개
구현 
XMLBeanFactory는 BeanFactory를 구현합니다 
FileSystemXmlApplicationContext, ClassPathXmlApplicationContext, AnnotationConfigWebApplicationContex가 ApplicationContext를 구현합니다. 

또한, ApplicationContext는 BeanFactory를 확장합니다 
2
애너테이션 
No
Yes
3
인스턴스화
getBean() 메서드가 호출될 때 Bean factory는 베인을 인스턴스화합니다.
컨테이너가 시작될 때 bean을 적용합니다.
4
액티비티 발행 
Bean factory는 베인으로 이벤트를 전달할 수 있는 능력이 없습니다 
애플리케이션 컨텍스트는 이벤트를 베인으로 전달할 수 있는 능력을 가지고 있습니다.
5
로드 메커니즘
Lazy loading 
극진한 로드