ApplicationContextInitializer接口
用于在spring容器刷新之前的初始化,个人理解主要是可以获取配置文件中的值,之后可以做一些逻辑处理
ApplicationListener接口
前人栽树
可以通过监听不同事件,做出相应逻辑处理
ApplicationStartingEvent程序启动事件,要先于ApplicationContextInitializer
启动类如下:
public static void main(String[] args) {
ApplicationTest applicationTest = new ApplicationTest();
SpringApplication springApplication = new SpringApplication(ObserverApplication.class);
springApplication.addListeners(applicationTest);
springApplication.addInitializers(applicationTest);
springApplication.run(args);
}
待解决问题
我们在启动之前做的逻辑,一般都是基础组件或者公用度很高的一些处理流程。
比如说,这些接口实现的逻辑需要每个项目里都要使用,但在实际开发中,也不能要求每个项目的启动类这么写吧。。。
大家有什么解决方案也请留言