01 Spring学习之-事件驱动eventListener

01 Spring学习之-事件驱动eventListener

观察者模式


1.注册一个监听事件

继承ApplicationEvent 类

public class BusinessEvent extent ApplicationEvent {    public BusinessEvent(Object source) {        super(source);    }}

2. 注册事件监听

@Componentpublic class OwnBusinessEventListener implements ApplicationListener<BusinessEvent> {    @Override    public void onApplicationEvent(BusinessEvent event) {        //TODO        System.out.println("执行自己的业务逻辑");    }}

3. 触发事件监听

@Autowiredprivate ApplicationContext context;void xxxMethod() {    //TODO previous business code    BusinessEvent event = new BusinessEvent("");    context.publishEvent(event);}

4. 功能扩展

如果需要在一个业务中同时有多个任务处理,则只需要创建一个新的 ApplicationListener 的实现类即可,内部定义自己的处理逻辑。

1. 当主业务流程执行时,所有监听BusinessEvent的监听器都会收到通知,从而执行业务2. 此功能对应设计模式中的观察者模式:一个改变,所有观察者均能收到通知。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部