• Spring 之BeanFactory(转)


     BeanFactorySpring的“心脏”。它就是Spring IoC容器的真面目。

    Spring使用BeanFactory实例化、配置和管理Bean。但是,在大多数情况我们并不直接使用BeanFactory,而是使用ApplicationContext。它也是BeanFactory的一个实

    现,但是它添加了一系列“框架”的特征,比如:国际化支持、资源访问、事件传播等。



                                                    

     

     

     

            BeanFactory其实是一个接口-org.springframework.beans.factory.BeanFactory,它可以配置和管理几乎所有的Java类。当然,具体的工作是由实现BeanFactory接口

    的实现类完成。我们最常用的
    BeanFactory实现是org.springframework.beans.factory.xml.XmlBeanFactory。它从XML文件中读取Bean的定义信息。当BeanFactory被创建

    时,
    Spring验证每个Bean的配置。当然,要等Bean创建之后才能设置Bean的属性。单例(Singleton)Bean在启动时就会被BeanFactory实例化,其它的Bean在请求时创建。根

    BeanFactoryJava文档(Javadocs)介绍,“Bean定义的持久化方式没有任何的限制:LDAPRDBMSXML、属性文件,等等”。现在Spring已提供了XML文件和

    属性文件的实现。无疑,
    XML文件是定义Bean
    的最佳方式。


    BeanFactory是初始化Bean和调用它们生命周期方法的“吃苦耐劳者”。注意,BeanFactory只能管理单例(SingletonBean的生命周期。它不能管理原型(prototype,非单

    )Bean的生命周期。这是因为原型Bean实例被创建之后便被传给了客户端,
    容器失去了对它们的引用。


    BeanFactory管理Bean(组件)的生命周期

        

       
         下图描述了
    Bean的生命周期。它是由IoC容器控制。IoC容器定义Bean操作的规则,即Bean的定义(BeanDefinition)。Bean的定义包含了BeanFactory在创建Bean

    例时需要的所有信息。
    BeanFactory首先通过构造函数创建一个Bean实例,之后它会执行Bean实例的一系列之前初始化动作,初始化结束Bean将进入准备就绪(ready

    状态,这时应用程序就可以获取这些
    Bean实例了。最后,当你销毁单例(SingletonBean时,它会调用相应的销毁方法,结束Bean实例的生命周期。

     

     

     

     转自:http://www.blogjava.net/yejiansuo/archive/2010/10/18/335442.html

  • 相关阅读:
    C# 线程手册 第二章 .NET 中的线程
    C# 线程手册 第一章 线程定义 .NET 和 C# 对线程的支持
    C# 线程手册 第二章 .NET 中的线程 创建一个线程
    C# 线程手册 第一章 线程定义 线程
    C# 线程手册 第二章 .NET 中的线程 时钟和回调
    C# 线程手册 第二章 .NET 中的线程 线程的生命周期
    C# 线程手册 第二章 .NET 中的线程 线程的优势
    Visual Entity 教程(一)从数据库创建模型
    Visual Entity 教程(三)添加 Attribute 到类或属性中
    Linq to Oracle 使用教程(二)创建实体类
  • 原文地址:https://www.cnblogs.com/wangruihua-521/p/3154809.html
Copyright © 2020-2023  润新知