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

Différence entre le contexte de l'application et Beanfactory dans le cadre Spring

Le cadre Spring fournit deux conteneurs IOC pour la gestion, la configuration et l'opération des beans. L'un est BeanFactory, et l'autre est l'application context. 

L'interface ApplicationContext étend BeanFactory pour renforcer les fonctionnalités de BeanFactory. 

Dans la nouvelle version de Spring, BeanFactory est remplacé par ApplicationContext. Cependant, l'existence de BeanFactory est pour la compatibilité ascendante. 

Spring 2La version 3.0 et versions ultérieures utilisent le point d'extension BeanPostProcessor (l'interface fournit quelques méthodes de rappel que nous pouvons implémenter pour personnaliser la logique d'instanciation, la logique de résolution des dépendances, etc.). Par conséquent, si vous utilisez BeanFactory, certaines fonctionnalités (comme AOP et le traitement des transactions) doivent subir certaines configurations supplémentaires pour pouvoir être utilisées.

NuméroCléUsine de haricotsEnvironnement d'application
1Un
Implémentation 
XMLBeanFactory implémente BeanFactory 
FileSystemXmlApplicationContext, ClassPathXmlApplicationContext et AnnotationConfigWebApplicationContex implémentent ApplicationContext. 

De plus, ApplicationContext étend Beanfactory 
2
Annotation 
Non
Oui
3
Instanciation
Le Benafactory instancie les beans lorsque la méthode getBean() est appelée.
L'application instainte bean au démarrage du conteneur.
4
Publication d'activité 
Le Bean factory n'a pas la capacité de pousser des événements vers les beans 
Le contexte de l'application a la capacité de pousser des événements vers les beans.
5
Mécanisme de chargement
Lazy loading 
Chargement agressif 
Vous pourriez aussi aimer