Spring Bean的生命周期

Posted on 2017-12-07 16:01  songsong_DBB  阅读(102)  评论(0)    收藏  举报

  Bean的初始化和销毁:

    1、默认全局的初始化和销毁方式:

      在Spring的配置xml文件中的<beans>标签中配置全局默认的初始化和销毁方法,并且在相应的bean类中增加相对应的方法名的方法。通过这种方式配置,在<beans>标签中的所有的bean类都会采用这个配置的初始化和销毁方法。

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd" 
        default-init-method="defautInit" default-destroy-method="defaultDestroy">

     如图,只要在相应的bean类中增加 defautInit方法和 defaultDestroy方法,就可以在方法里面添加自己希望的初始化和销毁bean时的一些操作。

    2、bean类实现 org.springframework.beans.factory.InitializingBean接口,并且实现 afterPropertiesSet()以达到初始化的操作,实现org.springframework.beans.factory.DisposableBean接口,并且实现 destroy()来进行销毁bean 的一些操作。这个方法不需要在xml文件中做相关配置。

    3、配置相关bean标签中的 init-method 和 destroy-method方法,并且在类中定义名字相同的方法。

<bean id="beanLifeCycle" class="com.imooc.lifecycle.BeanLifeCycle"  init-method="start" destroy-method="stop"></bean>

 

  总结:

    1、如果这三种方法同时使用的话,则首先执行的会是第二种方法,其次再是第三种方法,但是第一种方法会失效。

    2、第一种方法中配置了所有bean的默认方法,但是在相关的bean类中没有对应的方法,也不会出错。

    3、如果使用了第三种方法,但是相关的bean类中没有对应的方法,则会报错。

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3