目录
一.前言
基本实现流程,分析
事件监听实现流程
事件对象:
由开发者自行定义实现。
事件发布源:
就是触发事件的源头,不同的事件源会触发不同的事件类型,也就是我们的发布事件。
事件监听器:
事件监听器负责监听事件源发出的事件,事件监听器可以通过EventListener这个标识接口.,实现事件监听。
如图:
二.具体实现
2.1问题分析
由于我们在实际开发中一个系统中是有很多联系的,当我们系统中的一个模块是按流程做的话就用到我们的监听事件,这里可能跟其他的博主不太一样,我们主要做的是实际开发项目中的监听事件.如果跟我有所相同希望能帮到大家.
事件分析
有两张表,表一的数据通过数据流向需要向表二中添加数据,这种情况可以用到我们的监听事件
2.2实现思路
如图:
1.在entity中写我们流转的数据
<pre>
参数实体
</pre>
@data
class Entity{
字段1
字段2
字段3
字段3
.......
}
2.在publish中编写我们的事件发布器相当于我们往表二中插入的业务逻辑.
/**
* <pre>
* 事件监发布器
* </pre>
*
*/
public class Pubisher {
//依赖注入
private ApplicationContext publisher;//这个很重要
//我们需要插到表二中的数据逻辑
public static 返回参数 delApproveEvent(参数) {
Entity entity = new Entity()
entity.set(字段)
........
}
3.我们在表二中subscription写监听事件
@EventListener
public void insert(参数) {
log.info("监听到{}", 数据);
sggpDocumentApproveDomain.insert();
}
之后在去我们的业务层和控制器层编写逻辑
这样我们就可以在表一点击发送时表二同时新增增一条数据 .如果要有撤回的话那我们用同样的方法利用监听事件将我们的数据就从表二中删除.