文章目录
- 1.编写事件类(继承ApplicationEvent)
- 2.编写事件监听的类(实现ApplicationListener<事件类>)
- 3.编写控制器(发布事件)
- 4.运行接口
- 5.控制台效果
1.编写事件类(继承ApplicationEvent)
public class MyApplicationEvent extends ApplicationEvent {
public MyApplicationEvent(Object source) {
super(source);
}
}
2.编写事件监听的类(实现ApplicationListener<事件类>)
@Component
public class MyApplicationListener implements ApplicationListener {
@Override
public void onApplicationEvent(MyApplicationEvent event) {
String source = (String)event.getSource();
System.out.println("开始发短信:"+source);
}
}
3.编写控制器(发布事件)
@RestController
public class MyApplicationController implements ApplicationContextAware {
private ApplicationContext applicationContext;//注入上下文
//实现setApplicationContext方法
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
//定义一个接口用于触发自己编写的事件
@GetMapping("api/getMsg")
public String api(){
//发布事件
applicationContext.publishEvent(new MyApplicationEvent("张三下单了"));
return "hello cross";
}
}
4.运行接口
5.控制台效果