01 Spring学习之-事件驱动eventListener

观察者模式


1.注册一个监听事件

继承ApplicationEvent设计模式

public class BusinessEvent extent ApplicationEvent {
    public BusinessEvent(Object source) {
        super(source);
    }
}
复制代码

2. 注册事件监听

@Component
public class OwnBusinessEventListener implements ApplicationListener<BusinessEvent> {
    @Override
    public void onApplicationEvent(BusinessEvent event) {
        //TODO
        System.out.println("执行本身的业务逻辑");
    }
}
复制代码

3. 触发事件监听

@Autowired
private ApplicationContext context;

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

复制代码

4. 功能扩展

若是须要在一个业务中同时有多个任务处理,则只须要建立一个新的 ApplicationListener 的实现类便可,内部定义本身的处理逻辑。bash

1. 当主业务流程执行时,全部监听BusinessEvent的监听器都会收到通知,从而执行业务
2. 此功能对应设计模式中的观察者模式:一个改变,全部观察者均能收到通知。
复制代码
相关文章
相关标签/搜索