Spring boot里面的Listener和Event,其实是观察者模式的应用。
Spring Boot 里面的SpringApplicationRunListeners,实际上它做的事情,基本上就是一个publisher。
bootexp 这里面是对Spring boot里面的各种角色简化之后的代码。
对于Spring boot来说,Context是所有操作的核心。
package com.shahuwang.bootexp.listener;
public class AppMain {
public static void main(String [] args){
AppContext context = new AppContext();
IAppListener starting = new StartingListener();
IAppListener started = new StartedListener();
IAppListener running = new RunningListener();
context.addAppListeners(starting);
context.addAppListeners(started);
context.addAppListeners(running);
context.publishEvent(new StartingEvent());
context.publishEvent(new StartedEvent());
context.publishEvent(new RunningEvent());
}
}
如上实例代码,把你想监听的时间注册进去,等事件发布的时候就可以监听到并执行相应的代码。
等有空读下Java的设计模式再回来补全这篇文章,此文先记录下当前阅读Spring Boot源码的进展
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。