spring事件监听
AI-摘要
kerwin GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
1.定义事件
1)定义自定义事件类,继承ApplicationEvent
,通过在构造方法中执行父类ApplicationEvent
的构造方法,传入事件中需要的操作数据。
public class CustomEvent extends ApplicationEvent {
public CustomEvent(String source) {
super(source);
}
}
2.推送事件
1)注入ApplicationEventPublisher实例
@Resource
private ApplicationEventPublisher applicationEventPublisher;
2)通过publishEvent方法来发送事件
//创建事件
CustomEvent customEvent=new CustomEvent("张三");
//发送事件
applicationEventPublisher.publishEvent(customEvent);
3.订阅事件
1.第一种方式
通过@EventListener
来监听事件,其中被标记的方法的参数为监听的事件类型
@EventListener
public void handleEvent(CustomEvent event){
String source = (String)event.getSource();
log.info("==================sub1订阅 {} 成功==================",source);
}
2.第二种方式
通过实现ApplicationListener<CustomEvent>
接口,并实现其方法onApplicationEvent
,做到事件监听
@Service
@Slf4j
public class Sub2 implements ApplicationListener<CustomEvent> {
/**第二种监听事件方法
* 通过ApplicationListener来监听自己定义的CustomEvent事件,一但此事件发布成功,就立即被这边监听器监听到,其中event.getSource()是事件中封装的数据
* @param event
*/
@Override
public void onApplicationEvent(CustomEvent event) {
String source = (String)event.getSource();
log.info("==================sub1订阅 {} 成功==================",source);
}
}
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 王德明
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果