使用Spring容器

本文介绍了Spring框架中的两种核心容器:BeanFactory和ApplicationContext。BeanFactory是基本的容器接口,提供依赖注入支持;ApplicationContext则是BeanFactory的扩展,提供了更多的功能和服务,通常推荐在大多数场景下使用。

1、BeanFactory

BeanFactory可视为Spring的BeanFactory容器,它的主要功能是为依赖注入(Dependency Injection,DI)提供支持。这个容器接口在org.springframework.beans.factory.BeanFactory中被定义。
BeanFactory是用于访问Spring Bean容器的跟接口,是一个单纯的Bean工厂,也就是常说的IoC容器的顶层定义,各种IoC容器是在其基础上为了满足不同需求而扩展的,包括经常使用的ApplicationContext。
在Spring中,有大量对BeanFactory接口的实现。其中,最常被使用的是XmlBeanFactory类。这个容器从一个XML文件中读取配置元数据,由这些元数据来生成一个被配置化的系统或者应用。

2、ApplicationContext

ApplicationContext是BeanFactory的子接口,使用它作为Spring容器更方便。它可以加载配置文件中定义的Bean,将所有的Bean集中在一起,当有请求的时候分配Bean。
ApplicationContext包含BeanFactory所有的功能,一般情况下,相对于BeanFactory,ApplicationContext会被推荐使用。BeanFactory仍然可以在轻量级应用中使用,如移动设备或者基于Applet的应用程序。
最常被使用的ApplicationContext接口实现如下。

  • FileSystemXMLApplicationContext:该容器从XML配置文件中加载已被定义的Bean。在这里,用户需要提供XML文件的完整路径给构造器。
  • ClassPathXmlApplicationContext:以类加载路径下的XML配置文件创建ApplicationContext实例。
  • WebXMLApplicationContext:该容器会在一个Web应用程序的范围内加载在XML文件中已被定义的Bean。

一般不会使用BeanFactory实例作为Spring容器,而是使用ApplicationContext实例作为容器,因此也把Spring容器成为Spring上下文。必须注意的是,在使用Spring框架的Web项目中,ApplicationContext容器的实例化工作会交由Web服务器来完成。Web服务器实例化ApplicationContext容器时,通常会使用基于ContextLoaderListener的方式来实现。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值