zoukankan      html  css  js  c++  java
  • Bean的生命周期

    Spring容器可以管理singleton作用域的Bean的生命周期,在此作用域下,Spring能够精确地指导该Bean何时被创建,何时初始化完成以及何时被销毁。对于prototype作用域的Bean,Spring只负责创建,当容器创建Bean实例后,Bean的实例就会交给客户端代码来管理,Spring容器将不再跟踪其生命周期。每次客户端请求prototype作用域的Bean的声明周期。

    了解Bean的生命周期的意义就在于,可以在某个Bean生命周期某些指定时刻完成一些相关操作。

    Bean的生命周期的整个执行过程如下:

    ①   实例化(当我们的程序加载beans.xml文件),把我们的bean(前提是scope=singleton)实例化到内存

    ②   调用set方法设置属性

    ③   如果你实现了bean名字关注接口(BeanNameAware)则,可以通过setBeanName获取id号

    ④   如果你实现了 bean工厂关注接口,(BeanFactoryAware),则可以获取BeanFactory

    ⑤   如果你实现了 ApplicationContextAware接口,则调用方法

    //该方法传递ApplicationContext

             publicvoid setApplicationContext(ApplicationContext arg0)

                                throwsBeansException {

                       //TODO Auto-generated method stub

                       System.out.println("setApplicationContext"+arg0);

             }

    ⑥   如果bean 和 一个后置处理器关联,则会自动去调用 Object postProcessBeforeInitialization方法

    ⑦   如果你实现InitializingBean接口,则会调用 afterPropertiesSet

    ⑧   如果自己在<beaninit-method=”init” /> 则可以在bean定义自己的初始化方法.

    ⑨   如果bean 和 一个后置处理器关联,则会自动去调用 Object postProcessAfterInitialization方法

    ⑩   将准备就绪的Bean交给调用者

    ⑪   Spring中Bean的销毁。调用DisposableBean()的destory()方法或者调用destory-method属性配置的销毁方法

     

    总结:但是在实际开发过程中一般只用了:1->2->6->10->9->11


  • 相关阅读:
    支付功能测试用例设计要点
    接口测试用例设计实践总结
    如何高效学习
    性能测试基础总结和自己的理解
    linux安装AWStats业务数据分析工具
    python3登陆接口测试
    Python2和Python3中urllib库中urlencode的使用注意事项
    运用BT在centos下搭建一个博客论坛
    python环境搭建-requests的简单安装(适合新手)
    web 资源好文
  • 原文地址:https://www.cnblogs.com/Black-YeJing/p/9131127.html
Copyright © 2011-2022 走看看