1.必备技能 - webpack学习之路
410 2023-04-03 03:28:20
继承ApplicationEvent 类
public class BusinessEvent extent ApplicationEvent { public BusinessEvent(Object source) { super(source); }}
@Componentpublic class OwnBusinessEventListener implements ApplicationListener<BusinessEvent> { @Override public void onApplicationEvent(BusinessEvent event) { //TODO System.out.println("执行自己的业务逻辑"); }}
@Autowiredprivate ApplicationContext context;void xxxMethod() { //TODO previous business code BusinessEvent event = new BusinessEvent(""); context.publishEvent(event);}
如果需要在一个业务中同时有多个任务处理,则只需要创建一个新的 ApplicationListener 的实现类即可,内部定义自己的处理逻辑。
1. 当主业务流程执行时,所有监听BusinessEvent的监听器都会收到通知,从而执行业务2. 此功能对应设计模式中的观察者模式:一个改变,所有观察者均能收到通知。