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

Posted 蔡苗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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  init-method destroy-method afterPropertiesSet() @PreDestroy destroy 执行顺序,上面的结果一目了然。

 







以上是关于spring bean 实例化bean前后进行相应的设置的主要内容,如果未能解决你的问题,请参考以下文章

Spring---bean的实例化

Spring- Bean的实例化

spring-bean 生命周期

spring-bean 生命周期

初识Spring对象(Bean)实例化及属性注入(xml方式)

Spring Bean的生命周期