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容器启动事件的相关知识点以及实例代码,感谢大家对毛票票的支持。