Spring IoC容器
spring ioc容器
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更好。
使用beanfactory
xmlbeanfactory是beanfactory接口的实现类。要使用beanfactory,我们需要创建xmlbeanfactory类的实例,如下所示:
resource resource=new classpathresource("applicationcontext.xml"); beanfactory factory=new xmlbeanfactory(resource);
xmlbeanfactory类的构造函数接收resource对象,因此我们需要传递该资源对象来创建beanfactory对象。
使用applicationcontext
classpathxmlapplicationcontext类是applicationcontext接口的实现类。我们需要实例化classpathxmlapplicationcontext类以使用applicationcontext,如下所示:
applicationcontext context = new classpathxmlapplicationcontext("applicationcontext.xml");
classpathxmlapplicationcontext类的构造函数接收字符串,因此我们可以传递xml文件的名称来创建applicationcontext的实例。