Spring 的容器

Spring的关键之一就是容器,在Spring中主要是两种容器:一个是BeanFactory,一个是ApplicationContext。
容器的作用是,管理所有的bean的生命周期,从创建bean的实例开始,到最后bean的消亡。
这两种容器的作用基本相同,但是Application Context是BeanFactory的子类,增加了一些功能,所以更为强大一些,主要体现在3个方面:
1. 能解析文本消息,提供文本的国际化(I18N)。
2. ApplicationContext提供一种通用的方法来加载文件资源,比如:图像文件。
3. 能够发布事件到注册的监听器。
所以,在大多数应用中,都使用Application Context。

ApplicationContext接口的实现类有很多,但常用的有3个:
1. ClassPathXmlApplicationContext
2. FileSystemXmlApplicationContext
3. XmlWebApplicationContext

ApplicationContext和BeanFactory的另一个区别在于对singleton bean的加载上。Bean Factory延迟加载所有的bean直到getBean()的调用,而ApplicationContext稍微智能一些,预先加载所有的singleton bean。



你可能感兴趣的:(Spring 的容器)