spring初始化bean之后执行某个方法

这个问题可以分两种解释:

1. 某个bean初始化执行?

2. 所有bean初始化后执行?

第一个问题可以在spring bean的生命周期中找到答案: 

bean定义-实例化-初始化-销毁。注意: 这里的bean定义是指所有的bean定义完成,然后才继续执行,而实例化和初始化 单个bean 一次执行的 。

那么问题1 可以有如下方式: 

实现BeanPostProcessor.postProcessAfterInitialization

使用注解@PostConstruct

实现InitializationBean.afterPropertiesSet

但以上方法仅对当前bean的生命周期起作用。 比如我想在A类中控制B类(我的需求:B类在jar报中使用@Bean生成)的初始化,我用了BeanPostProcessor,发现A类先于B类实例化,可以使用@DependsOn 强制B类实例化。 

问题2: 可以使用 ApplicationListener<ContextRefeshedEvent> 监控容器启动完成后。

或者 ApplicationRunner CommandLineRunner . 


 

                

相关推荐

  1. 7、SpringBean生命周期~初始化

    2023-12-26 11:22:02       8 阅读
  2. Spring Bean的获取方法 (手动注入bean)超级实用

    2023-12-26 11:22:02       41 阅读
  3. spring启动自动执行方法

    2023-12-26 11:22:02       23 阅读
  4. Spring 如何配置 bean (XML 方式)

    2023-12-26 11:22:02       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-26 11:22:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-26 11:22:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-26 11:22:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-26 11:22:02       20 阅读

热门阅读

  1. 随记-SQLAlchemy ORM 梳理

    2023-12-26 11:22:02       38 阅读
  2. python区块链简单模拟【04】

    2023-12-26 11:22:02       34 阅读
  3. Linux网卡配置

    2023-12-26 11:22:02       35 阅读
  4. LeetCode 22 括号生成

    2023-12-26 11:22:02       41 阅读
  5. C++基础-多态详解

    2023-12-26 11:22:02       39 阅读