背景环境
1、 spring boot ,java 8+的项目
2、项目启动需要统一执行的逻辑,提供给其他服务使用
实现方式
1、定义自定义方法 实现ApplicationListener 接口,并实现方法onApplicationEvent
例如
public class ProjectStartListener implements ApplicationListener<ApplicationEnvironmentPreparedEvent> {
@Override
public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) {
//获取配置文件中test.data定义的值
ConfigurableEnvironment environment = event.getEnvironment();
String data= environment.getProperty("test.data");
}
}
2、在resource目录下增加配置文件spring.factories,注册ProjectStartListener
org.springframework.context.ApplicationListener=\
com.zjay.plugs.ProjectStartListener
原因是因为:作为一个外部引用的jar包,即使使用@component注解,不会被主动加载到bean类当中。 需要手动注册