`

Spring销毁类顺序

 
阅读更多

Spring destroy类的顺序通过配置文件中配置“depends-on”来实现,同理init顺序正好相反。

实例:

bean1:

 

public class Bean1 {

    public void destroy() {
        System.out.println("bean1 destroy.");
    }
}

 bean2:

 

public class Bean2 {

    public void destroy() {
        System.out.println("bean2 destroy.");
    }
}

 bean3:

 

public class Bean3 {

    // private Bean1 bean1;

    public void destroy() {
        System.out.println("bean3 destroy.");
    }

}

bean4:

 

public class Bean4 {

    private Bean2 bean2;

    public void destroy() {
        System.out.println("bean4 destroy.");
    }

    public void setBean2(Bean2 bean2) {
        this.bean2 = bean2;
    }

}

 配置文件:

 

applicationContext.xml 写道
<bean id="bean1" class="com.alibaba.cep.collection.advice.Bean1" destroy-method="destroy"></bean>
<bean id="bean2" class="com.alibaba.cep.collection.advice.Bean2" destroy-method="destroy"></bean>
<bean id="bean3" class="com.alibaba.cep.collection.advice.Bean3" depends-on="bean1" destroy-method="destroy"></bean>
<bean id="bean4" class="com.alibaba.cep.collection.advice.Bean4" depends-on="bean2" destroy-method="destroy"></bean>

 执行mian:

 

public static void main(String[] args) {
        ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
        ac.destroy();
    }

 执行结果:

 

 写道
bean4 destroy.
bean3 destroy.
bean2 destroy.
bean1 destroy.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics