你的位置:首页 > 软件开发 > ASP.net > spring源码:ApplicationContext的增强功能(li)

spring源码:ApplicationContext的增强功能(li)

发布时间:2016-09-01 15:00:03
ApplicationContext作为资源加载器;ApplicationContext作为事件发布者;  Java原生提供了事件发布机制------EventObject对象作为发布的事件,EventListener作为处理发布事件的**。但是其并没有提供发布者的角色来桥接E ...

spring源码:ApplicationContext的增强功能(li)

              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 (#换成@)。

可能感兴趣文章

我的浏览记录