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

本文详细解析了Spring框架中Bean的初始化及销毁过程,包括构造函数调用、@PostConstruct、init-method、afterPropertiesSet等初始化方法及@PreDestroy、destroy、destroy-method等销毁方法的执行顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 执行顺序,上面的结果一目了然。

 

转载于:https://www.cnblogs.com/caibixiang123/p/9381442.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值