ApplicationContext作为资源加载器;ApplicationContext作为事件发布者; Java原生提供了事件发布机制------EventObject对象作为发布的事件,EventListener作为处理发布事件的**。但是其并没有提供发布者的角色来桥接E ...
ApplicationContext作为资源加载器;ApplicationContext作为事件发布者;
Java原生提供了事件发布机制------EventObject对象作为发布的事件,EventListener作为处理发布事件的**。但是其并没有提供发布者的角色来桥接EventObject和EventListener。Spring对java原生的事件发布机制做了扩展:一方面扩展了EventObject和EventListener,使其可以记录事件发布时间,扩展了事件发布接口;更重要的一点,ApplicationContext自身可以充当事件发布者(因为其实现了ApplicationEventPublisher接口),完成了本应该由开发者来实现的代码(如果使用java原生发布事件机制的话)。当对象A(被观察者)发生变化时,有一个发布者(可以是被观察者自身,也可以委托第三方如spring容器)发出通知,事物B(观察者)能够收到通知更新自己的状态。这个就是经常使用到的观察者模式,spring容器提供了这种观察者模式的支持。我们通过一个例子来说明如何在Spring框架中使用事件发布,并能让观察者(listener)得到消息。首先,自定义我们的EventObject,作为发布者和监听者之间约定好的事件对象。
public class MyEvent extends ApplicationEvent { /** * */ private static final long serialVersionUID = 1L; /** * @param source */ public MyEvent(Object source){ super(source); // TODO Auto-generated constructor stub } }
原标题:spring源码:ApplicationContext的增强功能(li)
关键词:Spring
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。