时间:2022-11-30 10:56:21 | 栏目:JAVA代码 | 点击:次
利用 Spring 工厂加载机制,实例化 ApplicationListener 实现类,并排序对象集合
创建应用事件监听器
创建类实现接口ApplicationListener,可以使用@Order或实现Orderd接口进行排序
@Order(Ordered.HIGHEST_PRECEDENCE) public class HelloWorldApplicationListener implements ApplicationListener<ContextRefreshedEvent> { @Override public void onApplicationEvent(ContextRefreshedEvent event) { System.out.println("HelloWorld : " + event.getApplicationContext().getId() + " , timestamp : " + event.getTimestamp()); } }
public class AfterHelloWorldApplicationListener implements ApplicationListener<ContextRefreshedEvent>,Ordered { @Override public void onApplicationEvent(ContextRefreshedEvent event) { System.out.println("AfterHelloWorld : " + event.getApplicationContext().getId() + " , timestamp : " + event.getTimestamp()); } @Override public int getOrder() { return Ordered.LOWEST_PRECEDENCE; } }
在spring.properties中配置
# ApplicationListener
org.springframework.context.ApplicationListener=\
com.imooc.diveinspringboot.listener.AfterHelloWorldApplicationListener,\
com.imooc.diveinspringboot.listener.HelloWorldApplicationListener,\
输出
HelloWorld : application , timestamp : 1591105193644
AfterHelloWorld : application , timestamp : 1591105193644