分享

Spring容器

 Erica_Shea 2014-06-01
容器是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当需要的时候才会创建)。


转载自:http://blog.csdn.net/zsm653983/article/details/8111392

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多