一、BeanFactory容器
1、这是一个最简单的容器,它主要的功能是为依赖注入 (DI) 提供支持,这个容器接口在 org.springframewor
k.beans.factory.BeanFactor 中被定义。
2、在 Spring 中,有大量对 BeanFactory 接口的实现。其中,最常被使用的是 y XmlBeanFactory 类。这个容器从
一个 XML 文件中读取配置元数据,由这些元数据来生成一个被配置化的系统或者应用。
3、在资源宝贵的移动设备或者基于 applet 的应用当中, BeanFactory 会被优先选择。否则,一般使用的是 Applic
ationContext,除非你有更好的理由选择 BeanFactory。
二、ApplicationContext容器
1、ApplicationContext 容器包括 BeanFactory 容器的所有功能。
2、Application Context 是 spring 中较高级的容器。和 BeanFactory 类似,它可以加载配置文件中定义的 bea
n,将所有的 bean 集中在一起,当有请求的时候分配 bean。 另外,它增加了企业所需要的功能,比如,从属性
文件从解析文本信息和将事件传递给所指定的监听器。这个容器在 org.springframework.context.Application
Context interface 接口中定义。
3、常用接口实现:
• FileSystemXmlApplicationContext:该从文件系统下的一个或多个 XML 配置文件中加载上下文定义。
• ClassPathXmlApplicationContext:从类路径下的一个或多个 XML 配置文件中加载上下文定义,把应用上下文的定义文件作为类资源。
• WebXmlApplicationContext:从 Web 应用下的一个或多个 XML 配置文件中加载上下文定义。
•AnnotationConfigApplicationContext :从一个或多个基于 Java 的配置类中加载 Spring 应用上下文。
•AnnotationConfigWebApplicationContext :从一个或多个基于 Java 的配置类中加载 Spring Web 应用上下文。
例如: