文档介绍:学 
 
 
 
 
 
 
 
 
 
 
 
 
樊凯 
2009‐5
BeanFactory & ApplicationContext 
最小 jar 包集合:
common-
在 spring 中容器分为两类:
BeanFactory
ApplicationContext
BeanFactory:
从名字上面可以看出,BeanFactory 使用的是工厂设计模式。也就是说这个类可以分发所有的Bean。
BeanFactory 接口有多种实现,常用的为 XmlBeanFactory。
//用BeanFactory读取classpath中的spring配置文件
BeanFactory factory = new XmlBeanFactory(new ClassPathResource(""));
或
//用BeanFactory读取文件系统中的spring配置文件
BeanFactory factory = new XmlBeanFactory(new FileSystemResource("C:/"));
ApplicationContext:
对于简单的应用 BeanFactory 已经足够强大了,但是为了获得 spring 提供的更强大的功能,则要使
用更高级的 spring 容器 ApplicationContext。ApplicationContext 和 BeanFactory 都是从配置文件中
载入 Bean 的定义,进行装配,然后根据需要进行分发 Bean。但是 ApplicationContext 提供了如下的更
多功能:
提供了文本解析工具,包括 I18N 国际化;
提供了载入文件资源的通用方法;
可以向注册为监听器的 Bean 发送事件。
在 ApplicationContext 的实现中,三个实现经常用到:
ClassPathXmlApplicationContext 从 classpath(包含 jar)中读取 spring 配置文件
ApplicationContext context = new ClassPathXmlApplicationContext("");
FileSystemXmlApplicationContext 从文件系统中读取 spring 配置文件
ApplicationContext context = new FileSystemXmlApplicationContext("C:/");
XmlWebApplicationContext 从 web 系统中读取 spring 配置文件
除了 ApplicationContext 提供的附加功能外,,Applicati