前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Spring之Bean的初始化和销毁

Spring之Bean的初始化和销毁

作者头像
冬天vs不冷
发布2025-01-21 08:25:15
发布2025-01-21 08:25:15
4100
代码可运行
举报
文章被收录于专栏:springbootspringboot
运行总次数:0
代码可运行

1、三种Bean初始化方式

1. @Bean注解initMethod属性指定初始化方法

代码语言:javascript
代码运行次数:0
复制
@Bean(initMethod = "init3")
public Bean1 bean1() {
    return new Bean1();
}

2. 实现InitializingBean接口 3. @PostConstruct注解属性指定初始化方法

代码语言:javascript
代码运行次数:0
复制
@Slf4j
public class Bean1 implements InitializingBean {
    
    @PostConstruct
    public void init1() {
        log.debug("初始化1");
    }

    @Override
    public void afterPropertiesSet() throws Exception {
        log.debug("初始化2");
    }

    public void init3() {
        log.debug("初始化3");
    }
}

输出结果:

代码语言:javascript
代码运行次数:0
复制
[DEBUG] 21:14:58.781 [main] com.xc.a07.Bean1                    - 初始化1 
[DEBUG] 21:14:58.781 [main] com.xc.a07.Bean1                    - 初始化2 
[DEBUG] 21:14:58.782 [main] com.xc.a07.Bean1                    - 初始化3

执行顺序: @PostConstruct > InitializingBean接口 > @Bean属性initMethod

2、三种Bean销毁方式

1. @Bean注解destroyMethod属性指定销毁方法

代码语言:javascript
代码运行次数:0
复制
@Bean(destroyMethod = "destroy3")
public Bean2 bean2() {
    return new Bean2();
}

2. 实现DisposableBean接口 3. @PreDestroy注解属性指定初始化方法

代码语言:javascript
代码运行次数:0
复制
@Slf4j
public class Bean2 implements DisposableBean {

    @PreDestroy
    public void destroy1() {
        log.debug("销毁1");
    }

    @Override
    public void destroy2() throws Exception {
        log.debug("销毁2");
    }

    public void destroy3() {
        log.debug("销毁3");
    }
}

输出结果:

代码语言:javascript
代码运行次数:0
复制
[DEBUG] 21:15:02.451 [main] com.xc.a07.Bean2                    - 销毁1 
[DEBUG] 21:15:02.451 [main] com.xc.a07.Bean2                    - 销毁2 
[DEBUG] 21:15:02.451 [main] com.xc.a07.Bean2                    - 销毁3 

执行顺序: @PreDestroy> DisposableBean接口 > @Bean属性destroyMethod

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、三种Bean初始化方式
  • 2、三种Bean销毁方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档