springBoot事件監聽流程java
1 自定義事件,通常是繼承ApplicationEvent抽象類spring
/** * 定義事件 **/ public class MyApplicationEvent extends ApplicationEvent { private static final long serialVersionUID = 787751246882182041L; public MyApplicationEvent(Object source) { super(source); } }
2 自定義監聽器,通常是實現ApplicationListen接口ide
/** * 自定義監聽器 **/ @Component public class MyApplicationListener implements ApplicationListener<MyApplicationEvent>{ @Override public void onApplicationEvent(MyApplicationEvent event) { System.out.println("接收事件:"+event.getClass()); } }
3 發佈事件blog
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) public class App { public static void main(String[] args) { ConfigurableApplicationContext context = SpringApplication.run(App.class, args); //發佈事件 context.publishEvent(new MyApplicationEvent(new Object())); context.close(); } }
這就是SpringBoot中最簡單的一個事件監聽.繼承