spring bean 实例化bean前后进行相应的设置

public class InitAndDestroySeqBean implements InitializingBean, DisposableBean {

    @PostConstruct
    public void postConstruct() {
        System.out.println("执行InitAndDestroySeqBean: postConstruct");
    }

    public InitAndDestroySeqBean()

    {
        System.out.println("执行InitAndDestroySeqBean: 构造方法");
    }


    public void initMethod() {
        System.out.println("执行InitAndDestroySeqBean: init-method");
    }


    public void afterPropertiesSet() throws Exception {
        System.out.println("执行InitAndDestroySeqBean: afterPropertiesSet");
    }

    @PreDestroy
    public void preDestroy() {
        System.out.println("执行InitAndDestroySeqBean: preDestroy");
    }

    public void destroy() throws Exception {

        System.out.println("执行InitAndDestroySeqBean: destroy");


    }

    public void destroyMethod() {
        System.out.println("执行InitAndDestroySeqBean: destroy-method");
    }

    public static void main(String[] args) {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationConetxt.xml");
        context.close();

    }

applicationContext.xml代码:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
 http://www.springframework.org/schema/context
 http://www.springframework.org/schema/context/spring-context-4.3.xsd">

    <context:annotation-config></context:annotation-config>

    <bean id="initAndDestroySeqBean" class="com.learn.spring.demo1.InitAndDestroySeqBean" init-method="initMethod" destroy-method="destroyMethod"></bean>

</beans>

  

执行结果:

执行InitAndDestroySeqBean: 构造方法
执行InitAndDestroySeqBean: postConstruct
执行InitAndDestroySeqBean: afterPropertiesSet
执行InitAndDestroySeqBean: init-method
执行InitAndDestroySeqBean: preDestroy
执行InitAndDestroySeqBean: destroy
执行InitAndDestroySeqBean: destroy-method。


我们介绍了spring bean实例化前后相关方法:

@PostConstruct   afterPropertiesSet  init-method destroy-method  @PreDestroy destroy 执行顺序,上面的结果一目了然。

原文地址:https://www.cnblogs.com/caibixiang123/p/9381442.html