springboot启动加载自定义插件
实现原理
- springboot框架启动会SimpleApplicationEventMulticaster.multicastEvent发布事件
- 找到所有实现ApplicationListener
- 调用ApplicationListener.onApplicationEvent(E event)
具体实现
-
实现接口ApplicationListener
- 加载插件
-
类似事件机制
- 自己定义一个接口Listener
- 初始化出自定义的所有Listenner
- listenner.onEvnt(Evnt) 通过不同的事件来决定listener的是否开始调用
- 比如容器开始事件
- 初始化所有插件 加载特定配置文件成bean
- 调用所有插件