在日常开发中,经常会遇到一个方法执行完毕,要通知另一个方法。
比如用户注册了之后需要给他发邮件。这种一个主要的业务,包含了很多附属的业务的情况,
如果对事务要求不是很严格,可以试试SpringBoot的事件发布与订阅。
事件类
首先你需要定义一个事件,这个类继承ApplicationEvent这个抽象类。
import org.springframework.context.ApplicationEvent;
/**
* 定义一个自定义事件,继承ApplicationEvent类
*
* @author lww
* @date 2020-04-09 17:41
*/
public class MyApplicationEvent extends ApplicationEvent {
private static final long serialVersionUID = 1L;
public MyApplicationEvent(Object source) {
super(source);
System.err.println("发布事件:source = " + source);
}
}
复制代码
发布事件
发布事件很简单,注入 ApplicationContext,调用 context.publishEvent(new MyApplicationEvent("发布事件啦"));就好了,这样一个事件就发布出去了。
import com.ler.even