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

Der Unterschied zwischen Application Context und Beanfactory im Spring-Framework

Der Spring-Framework bietet zwei IOC-Container, um Beans zu verwalten, zu konfigurieren und zu verarbeiten. Einige sind BeanFactory und der Anwendungskontext. 

Der Anwendungskontext-Interface erweitert den BeanFactory, um die Funktionen des BeanFactory zu erweitern. 

In der neuen Spring-Version wird der BeanFactory durch den ApplicationContext ersetzt. Der BeanFactory ist jedoch vorhanden, um Rückwärtskompatibilität zu gewährleisten. 

Spring 2Version 3.0 und höher verwenden den BeanPostProcessor- Erweiterungspunkt (das Interface bietet einige Callback-Methoden, die wir implementieren können, um die Instanziierungslogik, die Abhängigkeitsauflösungslogik usw. zu individualisieren). Daher müssen einige zusätzliche Konfigurationen vorgenommen werden, wenn Sie BeanFactory verwenden, um bestimmte Funktionen (wie AOP und Transaktionen) zu verwenden.

NummerSchlüsselBohnenwerkstattAnwendungsumgebung
1ein
Realisierung 
XMLBeanFactory implementiert BeanFactory 
FileSystemXmlApplicationContext, ClassPathXmlApplicationContext und AnnotationConfigWebApplicationContex implementieren ApplicationContext. 

Darüber hinaus erweitert der ApplicationContext den Beanfactory 
2
Annotationen 
Nein
Ja
3
Instanziierung
Benafactory instantiiert Beans, wenn der getBean()-Methodenaufruf erfolgt.
Bean wird beim Starten des Containers instainte angewendet.
4
Aktivitätsveröffentlichung 
Der Bean-Factory hat nicht die Fähigkeit, Ereignisse an die Beans zu senden 
Der Anwendungskontext hat die Fähigkeit, Ereignisse an die Beans zu senden.
5
Lade-Mechanismus
Lazy loading 
Aggressive Ladevorgänge 
Möglicherweise gefällt Ihnen auch