01 Spring学习之-事件驱动eventListener
观察者模式
1.注册一个监听事件
继承ApplicationEvent 类
public class BusinessEvent extent ApplicationEvent {public BusinessEvent(Object source) {super(source);}
}
复制代码
2. 注册事件监听
@Component
public class OwnBusinessEventListener implements ApplicationListener<BusinessEvent> {@Overridepublic void onApplicationEvent(BusinessEvent event) {//TODOSystem.out.println("执行自己的业务逻辑");}
}
复制代码
3. 触发事件监听
@Autowired
private ApplicationContext context;void xxxMethod() {//TODO previous business codeBusinessEvent event = new BusinessEvent("");context.publishEvent(event);
}复制代码
4. 功能扩展
如果需要在一个业务中同时有多个任务处理,则只需要创建一个新的 ApplicationListener 的实现类即可,内部定义自己的处理逻辑。
1. 当主业务流程执行时,所有监听BusinessEvent的监听器都会收到通知,从而执行业务
2. 此功能对应设计模式中的观察者模式:一个改变,所有观察者均能收到通知。
复制代码
01 Spring学习之-事件驱动eventListener相关推荐
- 【Spring学习】01
Spring学习01 Spring概述 简介 优点 组成 Spring快速入门 Spring程序开发步骤 Spring概述 简介 ·Spring框架是由于软件开发的复杂性而创建的.Spring使用的是 ...
- JavaEE——Spring学习笔记01【Ioc开发的模式】
JavaEE--Spring学习笔记01[Ioc开发的模式] JavaEE--Spring学习笔记02[Spring和Mybatis的整合] JavaEE--Spring学习笔记03[AOP开发] J ...
- 第四阶段--Spring学习-01
第四阶段--Spring学习 1.概述 2.Spring相关概念 2.1 初识Spring 2.2 Spring系统架构 2.2.1 系统架构图 2.2.3 Spring核心概念-IOC.IOC容器. ...
- 浅析 Spring 中的事件驱动机制
今天来简单地聊聊事件驱动,其实写这篇文章挺令我挺苦恼的,因为事件驱动这个名词,我没有找到很好的定性解释,担心自己的表述有误,而说到事件驱动可能立刻联想到如此众多的概念:观察者模式,发布订阅模式,消息队 ...
- Spring——Spring学习教程(详细)(上篇)——IOC、AOP
本文是Spring的学习上篇,主要讲IOC和AOP. Spring的JDBCTemplete以及事务的知识,请见下篇. Spring--Spring学习教程(详细)(下篇)--JDBCTemplete ...
- 我的Spring学习记录(二)
本篇就简单的说一下Bean的装配和AOP 本篇的项目是在上一篇我的Spring学习记录(一) 中项目的基础上进行开发的 1. 使用setter方法和构造方法装配Bean 1.1 前期准备 使用sett ...
- JavaEE——Spring学习笔记03【AOP开发】
JavaEE--Spring学习笔记01[Ioc开发的模式] JavaEE--Spring学习笔记02[Spring和Mybatis的整合] JavaEE--Spring学习笔记03[AOP开发] J ...
- spring学习12 -Spring 框架模块以及面试常见问题注解等
以下为spring常见面试问题: 1.Spring 框架中都用到了哪些设计模式? Spring框架中使用到了大量的设计模式,下面列举了比较有代表性的: 代理模式-在AOP和remoting中被用的比较 ...
- spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包
下载spring http://spring.io/ 最重要是在特征下面的这段话,需要注意: All avaible features and modules are described in the ...
最新文章
- zabbix_get 无法获取值(解决思路)
- 实际程序调用IndexWriter* writer = NULL
- MVVM架构~knockoutjs系列之验证成功提示显示
- SQLite Insert 语句(http://www.w3cschool.cc/sqlite/sqlite-insert.html)
- java 8 集合分组_Java 8:按集合分组
- 敏捷数据科学pdf_敏捷数据科学数据科学可以并且应该是敏捷的
- 关于mysql中GROUP_CONCAT函数的使用
- 每天CookBook之Python-062
- 匪夷所思:罕见的 Oracle 全局事务锁等待事件分析
- JS判断浏览器类型与版本
- iis 中php的mime类型,IIS添加MIME扩展类型及常用的MIME类型列表
- LanguageTool精简的两个思路
- xpos兼容android最高版本,[原创]学习篇-xposed框架及高版本替代方案
- WTS:基于Web的Terminal控制台
- Windows系统开机自动运行程序和自动启动服务
- 解决tensorflow2.x中使用tf.contrib.slim包时出现的No module named:tensorflow.contrib 问题
- 【wav】wav文件查看
- 【入门级】Hibernate环境搭建
- Qt MetaObject sysmtem 详解之三:QMetaObject接口实现
- APP自动化测试之录制脚本:3.运行录制的脚本
热门文章
- 以行为单位对字符串变量下标为奇数位置上的字符按其ASCii值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中
- SpringCloud 从菜鸟到大牛之五 统一配置中心 Spring Cloud Config
- 创建用户故事地图的步骤
- 使用setCustomView建立标题居中的自定义ActionBar
- 框架源码专题:Spring的Aop实现原理,Spring AOP 与 AspectJ 的关系
- Spring Cloud Sleuth 原理简介和使用
- Eclipse 下如何引用另一个项目的Java文件
- 详解 Qt 串口通信程序全程图文 (5)
- RabbitMQ集群(单机多实例部署)
- springboot引入外部yml配置文件