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

    前言

       在Spring中,从Spring IOC容器中取得的bean实例为单例,这个bean的生命周期就是容器管理的,一般担当管理者角色的是BeanFactory或者ApplicationContext。认识Bean的生命周期活动,对于更好的理解它有很大的帮助。

    下面以BeanFactory为例,说明一个bean的生命周期

     

    • 1. Bean的建立

                容器寻找Bean的定义信息并将其实例化

    • 2.属性注入

               使用依赖注入,Spring按照Bean定义信息配置Bean所有属性

    • 3.BeanNameAware的setBeanName()

        如果Bean类实现BeanNameAware接口,工厂调用Bean的setBeanName()方法传递Bean的id。

    • 4.BeanFactoryAware的setBeanFactory()

               如果Bean类实现BeanFactoryAware接口,工厂调用setBeanFactory()方法传入工厂自身

    • 5.BeanPostProcessor的postProcessBeforeIntialization()

       如果bean和BeanPostProcessor关联,那么其postProcessBeforeIntialization()方法将被调用

    • 6.InitializingBean的afterPropertiesSet()

        如果Bean类已实现InitializingBean接口,则执行他的afterProPertiesSet()方法

    • 7.Bean定义文件中定义init-method

        可以在Bean定义文件中使用"init-method"属性设定方法名称

    <bean id="demoBean" class="com.yangsq.bean.DemoBean" init-method="initMethod">
      .......
     </bean>

    • 8.BeanPostProcessor的postProcessAfterInitialization()

              如果有任何的BeanPostProcessors实例与Bean实例关联,则执行BeanPostProcessors实例的ProcessaAfterInitialization()方法

    • 9.  此时,Bean已经可以被应用系统使用了
    • 10. DisposableBean的destroy()

              在容器关闭时,如果Bean类实现了org.springframework.beans.factory.DisposableBean接口,则执行它的destroy()方法。

    • 11 Bean定义文件中定义destroy-method

                在容器关闭时,可以在Bean定义文件中使用“destory-method”定义的方法

              < bean id="demoBean" class="com.yangsq.bean.DemoBean" destory-method="destroyMethod">
                 .......
              </bean>

       

  • 相关阅读:
    awk应用
    字符串应用,expect预期交互,数组,正则表达式
    for,while循环,case分支,shell函数
    数值运算,if结构
    shell基础应用,变量的扩展应用
    rsync基本用法与配置,split分离解析
    PXE自动装机
    配置DNS服务器
    进程查看,终止
    应用技巧,vim用法,编译安装软件包
  • 原文地址:https://www.cnblogs.com/whx7762/p/7850529.html
Copyright © 2011-2022 走看看