一分钟掌握Spring中bean的生命周期

2012-11-12
    Spring 中bean 的生命周期短暂吗?
    在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,对单线程的程序说并不会有什么问题,但对于多线程的程序,就必须注意安全(Thread-safe)的议题,防止多个线程同时存取共享资源所引发的数据不同步问题。
    然而在spring中 可以设定每次从BeanFactory或ApplicationContext指定别名并取得Bean时都产生一个新的实例:例如:
    在spring中,singleton属性默认是true,只有设定为false,则每次指定别名取得的Bean时都会产生一个新的实例
    一个Bean从创建到销毁,如果是用BeanFactory来生成,管理Bean的话,会经历几个执行阶段(如图1.1):

    1:Bean的建立:
    容器寻找Bean的定义信息并将其实例化。
    2:属性注入:
    使用依赖注入,Spring按照Bean定义信息配置Bean所有属性
    3:BeanNameAware的setBeanName():
    如果Bean类有实现org.springframework.beans.BeanNameAware接口,工厂调用Bean的setBeanName()方法传递Bean的ID。

    编辑特别推荐:

    Servlet中的八大Listener

    40个轻量级JavaScript库介绍

    Java网络编程:实现HTTP模拟器

分享到:
0
相关阅读
友情链接
© 2018 我考网 http://www.woexam.com 中国互联网举报中心 湘ICP备18023104号 京公网安备 11010802020116号
违法和不良信息举报:9447029@qq.com