容器是Spring框架的核心,Spring容器就是一个巨大的工厂。Spring容器使用Ioc管理所有组成应用系统的组件。
Spring容器会使用XML解析器读取改属性值,并利用反射来创建该实现类的实例。
Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是 BeanFactory的子接口。它们都可以代表Spring容器。Spring容器是生成Bean实例的工厂,并管理容器中的Bean。Bean是 Spring管理的基本单元。
创建BeanFactory实例时,必须使用Spring容器管理的Bean详细配置信息(XML配置文件)。XML配置文件通常使用Resource对象传入。 大部分Java EE应用,在启动Web应用时自动加载Application实例。对于独立的应用程序,可通过如下方法来实例化BeanFactory。
ApplicationContext允许以声明式方式操作容器,无需手动创建它。可利用如ContextLoader得支持类,在Web应用启动时自动创建ApplicationContext。当然,也可以采用编程方式创建ApplicationContext.
ApplicationContext经常用到的三个实现: 1.ClassPathXmlApplicationContext:从类路径中的XML文件载入上下文定义信息。把上下文定义文件当成类路径资源。 2.FileSystemXmlApplicationContext:从文件系统中的XML文件载入上下文定义信息。 3.XmlWebApplicationContext:从Web系统中的XML文件载入上下文定义信息。
BeanFactory延迟加载所有的Bean,知道getBean()方法被调用时,Bean才被创建。 当系统创建ApplicationContext容器时,默认会预初始化所有singleton Bean (prototype类型Bean当需要的时候才会创建)。 转载自:http://blog.csdn.net/zsm653983/article/details/8111392 |
|
来自: Erica_Shea > 《Spring学习》