Spring中事件处理的小技巧
Spring提供了一些与Aware相关的接口,比如BeanFactoryAware、ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等,其中ApplicationContextAware是最常用的一个。实现ApplicationContextAware的Bean将在Bean初始化后被注入到ApplicationContext的实例中。ApplicationContextAware提供了publishEvent()方法,实现了观察者设计模式的事件传播器,为Bean提供了事件传播功能。使用Application.publishEvent方法,我们可以将事件通知给系统中的所有ApplicationListener。
Spring事件处理的一般流程:
定义事件分类并继承组织。spring framework . context . application event .
编写发布事件类Publisher,并实现org。spring framework . context . application context aware接口。
重写方法setapplicationcontext(应用程序上下文应用程序上下文)和发布方法(对象对象)
定义时间监控类EventListener,实现ApplicationListener接口,在applicationevent(应用事件event)上实现方法。
Java代码
导入org . spring framework . context . application event;
/**
*定义事件信息
* @ AuthorNew
*
公共类消息事件扩展应用程序事件{
私有字符串消息;
public void set message(String message){
this . message = message;
}
public String getMessage(){
返回消息;
}
public MessageEvent(对象源,字符串消息){
super(源);
this . message = message;
// TODO自动生成的构造函数存根
}
private static final long serialVersionUID = 1L;
}
0条评论