事件监听
方法一:
//新建事件监听器。 实现ApplicationListener接口
import org.springframework.context.ApplicationListener;
public class MyApplicationListener implements ApplicationListener<MyApplicationEvent> {
@Override
public void onApplicationEvent(MyApplicationEvent event) {
System.out.println("监听事件!!!!!"+event.getClass());
}
}
//新建事件类 继承ApplicationEvent 类
public class MyApplicationEvent extends ApplicationEvent {
/**
* 定义事件
*/
private static final long serialVersionUID = 1L;
public MyApplicationEvent(Object source) {
super(source);
// TODO Auto-generated constructor stub
}
}
//发布事件
@EnableAutoConfiguration
@ComponentScan
public class App {
public static void main(String[] args) {
SpringApplication app=new SpringApplication(App.class);
app.addListeners(new MyApplicationListener());
ConfigurableApplicationContext context = app.run(args);
context.publishEvent(new MyApplicationEvent(new Object()));
context.close();
}
}
方法二,注解ApplicationLister配置到Spring容器中
不需要以下方法
//app.addListeners(new MyApplicationListener());
方法三、Application.properties 中context.listener.classes=全类名