English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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úmero | Clave | Factory de beans | Entorno de aplicación |
---|---|---|---|
1Unidad | Implementación | XMLBeanFactory implementa BeanFactory | FileSystemXmlApplicationContext, ClassPathXmlApplicationContext y AnnotationConfigWebApplicationContex implementan ApplicationContext. Además, ApplicationContext extiende Beanfactory |
2 | Anotaciones | No | Sí |
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 |