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

Conteneur IoC Spring

IoC容器负责实例化,配置和组装对象。IoC容器从XML文件获取信息并相应地工作。IoC容器执行的主要任务是:

实例化应用程序类 配置对象 组装对象之间的依赖关系

有两种类型的IoC容器。它们是:

BeanFactory ApplicationContext

BeanFactory和ApplicationContext之间的区别

org.springframework.beans.factory。 BeanFactory 和org.springframework.context。 ApplicationContext 接口充当IoC容器。ApplicationContext接口建立在BeanFactory接口之上。它比BeanFactory增加了一些额外的功能,例如与Spring的AOP的简单集成,消息资源处理(用于I18N),传播事件,Web应用程序的应用程序特定上下文(例如WebApplicationContext)。因此,使用ApplicationContext比使用BeanFactory更好。

Utilisation de BeanFactory

XmlBeanFactory est une implémentation de l'interface BeanFactory. Pour utiliser BeanFactory, nous devons créer une instance de la classe XmlBeanFactory, comme suit:

Resource resource = new ClassPathResource("applicationContext.xml");
BeanFactory factory = new XmlBeanFactory(resource);

Le constructeur de la classe XmlBeanFactory reçoit un objet Resource, donc nous devons passer cet objet de ressource pour créer un objet BeanFactory.


Utilisation de ApplicationContext

La classe ClassPathXmlApplicationContext est une implémentation de l'interface ApplicationContext. Nous devons instancier la classe ClassPathXmlApplicationContext pour utiliser ApplicationContext, comme suit:

ApplicationContext context = 
    new ClassPathXmlApplicationContext("applicationContext.xml");

Le constructeur de la classe ClassPathXmlApplicationContext reçoit une chaîne de caractères, donc nous pouvons passer le nom du fichier xml pour créer une instance d'ApplicationContext.