基于Spring的事件驱动模型
这里之所以介绍spring的事件驱动模型,是因为后面要学习的rabbitmq的消息模型与spring 的事件驱动模型非常相似。
Spring的事件驱动模型是通过ApplicationEvent与ApplicationListener以及
ApplicationEventPublisher实现事件的定义、事件的监听和事件的发布。
在传统的企业应用中,正是通过事件驱动模式实现信息的交互以及模块之间的解耦。
定义事件
自定义事件需要继承ApplicationEvent类,并重写一个有参数构造器。
/**
* 模拟登录事件
* Spring事件驱动模型中“事件”类,通过“事件驱动”的方式实现业务模块之间的交互。
* @author huangqiqin
* @date 2021/04/10 21:09
**/
public class LoginEvent extends ApplicationEvent implements Serializable {
private String userName;
private String loginName;
private String ip;
/**
* 构造器一:由于继承ApplicationEvent类时需要重写的构造器
* @param source
*/
public LoginEvent(Object source) {
super(source);
}
/**
* 构建器二