在spingboot启动后,bean初始化前启动监听器

前面写过一篇文章,提到了配置springboot监听器,也能正常的监听springboot启动。但是存在一个问题,就是,如果想要在bean初始化的时候使用监听器中获取的配置的时候,这种方式不能实现。

想要实现在springboot启动后,bean初始化之前监听,需要做如下的改变:

改变一下监听事件类型即可

public class PropertyListener implements ApplicationListener<ApplicationPreparedEvent> {

...

}

只要实现的ApplicationPreparedEvent事件监听,就可以实现在springboot启动后、bean初始化之前监听。

此时,需要在SpringApplication中添加监听器

SpringApplication springApplication =new SpringApplication(DemoApplication.class);

springApplication.addListeners(new PropertyListener());

springApplication.run(args);

这种方式有一个缺点,就是不能在单元测试中使用监听器!不能在单元测试中使用监听器!不能在单元测试中使用监听器!

重要的事情说三遍!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容