Spring学习1——Spring容器

来源:互联网 发布:php 二维数组去重复值 编辑:程序博客网 时间:2024/04/29 00:26
  容器是Spring框架的核心,Spring容器就是一个巨大的工厂。Spring容器使用Ioc管理所有组成应用系统的组件。

  Spring容器会使用XML解析器读取改属性值,并利用反射来创建该实现类的实例。

 

  Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口。它们都可以代表Spring容器。Spring容器是生成Bean实例的工厂,并管理容器中的Bean。Bean是Spring管理的基本单元。

 

  创建BeanFactory实例时,必须使用Spring容器管理的Bean详细配置信息(XML配置文件)。XML配置文件通常使用Resource对象传入。
Resource接口是Spring提供的资源访问接口,通过使用该接口,Spring能以简单,透明的方式访问子盘,类路径,已经网络上的资源。

大部分Java EE应用,在启动Web应用时自动加载Application实例。对于独立的应用程序,可通过如下方法来实例化BeanFactory。
1.
 //搜索当前文件路径下的beans.xml文件,创建Resource对象
 InputStreamResource isr = new FileSystemResource("beans.xml");
 //以Resource对象作为参数,创建BeanFactory实例
 XmlBeanFactory factory = new XmlBeanFactory(isr);
2.
 //搜索类加载路径,以类加载路径下的beans.xml文件创建Resource对象
 ClassPathResource res = new ClassPathResource("beans.xml");
 //以Resource对象为参数,创建BeanFactory实例
 XmlBeanFactory factory = new XmlBeanFactory(res);

 

ApplicationContext允许以声明式方式操作容器,无需手动创建它。可利用如ContextLoader得支持类,在Web应用启动时自动创建ApplicationContext。当然,也可以采用编程方式创建ApplicationContext.
除了提供BeanFactory所支持的全部功能外,ApplicationContext还有如下额外功能:
1.ApplicationContext继承MessageSource接口,因此提供国际化支持。
2.资源访问,比如URL和文件
3.事件机制
4.载入多个配置文件。

 

ApplicationContext经常用到的三个实现:

1.ClassPathXmlApplicationContext:从类路径中的XML文件载入上下文定义信息。把上下文定义文件当成类路径资源。

2.FileSystemXmlApplicationContext:从文件系统中的XML文件载入上下文定义信息。

3.XmlWebApplicationContext:从Web系统中的XML文件载入上下文定义信息。

 

BeanFactory延迟加载所有的Bean,知道getBean()方法被调用时,Bean才被创建。

当系统创建ApplicationContext容器时,默认会预初始化所有singleton Bean (prototype类型Bean当需要的时候才会创建)。


原创粉丝点击