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


  • 相关阅读:
    ubuntu12.04 安装CAJViewer-ubuntu(待解决)
    ROS中遇到的一些问题和解决(更新)
    Virtualbox主机和虚拟机之间文件夹共享及双向拷贝
    Ubuntu自带截图工具screenshoot
    Ubuntu vim终端常用的快捷键
    Ubuntu终端多窗口分屏Terminator
    Apollo快速安装视频教程
    ML--XOR问题
    DL之Example1--MNIST
    Python之ML--人工神经网络识别图像
  • 原文地址:https://www.cnblogs.com/Black-YeJing/p/9131127.html
Copyright © 2011-2022 走看看