springboot关于容器启动事件总结
在springboot容器启动时,我们需要在启动过程中做一些操作,比如启动容器后,执行某些代码。
spring提供了监听器,我们可以方便的实现这些操作。
在容器启动开始时:
packagecom.neo.filter; importorg.springframework.boot.context.event.ApplicationStartingEvent; importorg.springframework.context.ApplicationListener; publicclassApplicationStartingEventListenerimplementsApplicationListener{ @Override publicvoidonApplicationEvent(ApplicationStartingEventarg0){ System.err.println("ApplicationStartingEventListener"); } }
在容器启动完成后执行操作:
packagecom.neo.filter; importorg.springframework.boot.context.event.ApplicationStartedEvent; importorg.springframework.context.ApplicationListener; importorg.springframework.core.Ordered; publicclassApplicationStartedEventListenerimplementsApplicationListener,Ordered{ @Override publicvoidonApplicationEvent(ApplicationStartedEventev){ System.out.println("ApplicationStartedEventListener1"); } @Override publicintgetOrder(){ return1; } }
如果需要有顺序执行,我们可以实现Ordered接口,只越小,越先执行。
packagecom;
importorg.springframework.boot.SpringApplication;
importorg.springframework.boot.autoconfigure.SpringBootApplication;
importcom.neo.filter.ApplicationStartedEventListener;
importcom.neo.filter.ApplicationStartedEventListener2;
importcom.neo.filter.ApplicationStartingEventListener;
@SpringBootApplication
publicclassDemoApplication{
publicstaticvoidmain(String[]args){
SpringApplicationapp=newSpringApplication(DemoApplication.class);
app.addListeners(newApplicationStartedEventListener());
app.addListeners(newApplicationStartingEventListener());
app.addListeners(newApplicationStartedEventListener2());
app.run(args);
}
}
以上就是关于springboot容器启动事件的相关知识点以及实例代码,感谢大家对毛票票的支持。