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

Diferencia entre el contexto de aplicación y Beanfactory en el marco Spring

El framework Spring proporciona dos contenedores IOC para gestionar, configurar y operar beans. Uno es BeanFactory y el otro es el contexto de aplicación. 

El interfaz de contexto de aplicación extiende BeanFactory para mejorar las funciones de BeanFactory. 

En la nueva versión de Spring, BeanFactory se reemplaza por ApplicationContext. Sin embargo, la existencia de BeanFactory es para la compatibilidad con versiones anteriores. 

Spring 2Las versiones 3.0 y superiores utilizan el punto de extensión BeanPostProcessor (el interfaz proporciona algunos métodos de devolución de llamada que podemos implementar para personalizar la lógica de instanciación, la lógica de resolución de dependencias, etc.). Por lo tanto, si utiliza BeanFactory, algunas funciones (como AOP y manejo de transacciones) deben configurarse adicionalmente para poder utilizarse.

NúmeroClaveFactory de beansEntorno de aplicación
1Unidad
Implementación 
XMLBeanFactory implementa BeanFactory 
FileSystemXmlApplicationContext, ClassPathXmlApplicationContext y AnnotationConfigWebApplicationContex implementan ApplicationContext. 

Además, ApplicationContext extiende Beanfactory 
2
Anotaciones 
No

3
Instanciación
El factory de beans instancia beans cuando se llama al método getBean().
La aplicación aplica el bean instante cuando se inicia el contenedor.
4
Publicación de eventos 
El factory de beans no tiene la capacidad de pushing eventos a los beans 
El contexto de aplicación tiene la capacidad de pushing eventos a los beans.
5
Mecanismo de carga
Carga perezosa 
Carga agresiva