1.事件定义

import lombok.Data;
import org.springframework.context.ApplicationEvent; /**
* 事件定义,这里监听MsgMessage消息对象
*/
@Data
public class MsgApplicationEvent extends ApplicationEvent { private MsgMessage message; public MsgApplicationEvent(Object source,MsgMessage message) {
super(source);
this.message=message;
}
}

2.事件监听

import com.alibaba.fastjson.JSON;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component; /**
* 事件监听,处理事件
*/
@Component
public class HandleEnvent { @EventListener(MsgApplicationEvent.class)
public void handeEnvent(MsgApplicationEvent event){
MsgMessage message= event.getMessage();
System.out.println("消息处理事件...:"+ JSON.toJSONString(message));
}
}

3.发布事件

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service; /**
* 发布事件
*/
@Service
public class MsgPublishEvent { @Autowired
ApplicationContext context; public void publishEvent(MsgMessage message){
context.publishEvent(new MsgApplicationEvent(new Object(),message));
}
}

4.使用事件

事件使用结合具体业务注入即可

  @Autowired
private MsgPublishEvent msgPublishEvent; @GetMapping("/test")
@ResponseBody
public String test(){
MsgMessage message=new MsgMessage();
message.setTitle("hello");
message.setMessage("我是个消息提示哦!"); msgPublishEvent.publishEvent(message); return "success";
}

最新文章

  1. 利用DelegatingHandler实现Web Api 的Api key校验
  2. HashMap vs TreeMap vs Hashtable vs LinkedHashMap
  3. dataWithContentsOfURL报错问题
  4. 封装WCF客户端调用
  5. 解决ntp的错误 no server suitable for synchronization found
  6. [转]Java中的多线程你只要看这一篇就够了
  7. Activity(活动)-初讲
  8. POJ 2253 Frogger (最短路)
  9. ASP.NET中的Request、Response、Server对象
  10. c - 给分数分级别
  11. 内存管理pbuf.c源码解析——LwIP学习
  12. DataTables获取表单输入框数据
  13. 50个必备的实用jQuery代码段+ 可以直接拿来用的15个jQuery代码片段
  14. php中国的垃圾问题
  15. [mysql]ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value 解决方法
  16. Redis两种秒杀抢购思路
  17. Chrome_断点调试(使用vue-resource进行数据交互)
  18. 解读socketserver源码
  19. 迅为IMX6核心板兼容工业级、商业扩展级、Plus版本核心板
  20. a标签的4种状态及设置CSS

热门文章

  1. 2019-09-16 http 和 https的区别
  2. 使用Git Bash向GitHub上传本地项目
  3. pdf.js实现图片在线预览
  4. iOS相关
  5. 1 Ubuntu 破解帐户密码
  6. 剑指:链表中倒数第k个节点
  7. 配置OEL7 YUM源
  8. MySQL基础:DCL语句总结
  9. C# Net 计算周(可正推和逆推)
  10. 适用于Centos6/7,vsftp自动安装脚本