几个组件顾名思义
对应的接口:
事件:ApplicationEvent
事件发布器:ApplicationEventPublisher
事件监听器:ApplicationListener
事件广播器:ApplicationEventMulticaster
在Spring Boot Application的启动代码中, 核心方法:refreshContext(), 这里完成了Spring Context个各种组件初始化:
一般开发。 自定义一个event ,通过context publishEvent,然后实现或者注解监听器listener。event 需要定义,listener需要实现纯业务逻辑。
事件广播器:ApplicationEventMulticaster
默认的事件广播器是SimpleApplicationEventMulticaster
SimpleApplicationEventMulticaster是同步广播。也可以自定义广播器,需要实现ApplicationEventMulticaster接口,bean name 也需要注意 applicationEventMulticaster,spring 启动时注册广播的代码参考AbstractApplicationContext.java 中的initApplicationEventMulticaster方法。