一、价值
Spring Boot和Spring 事件是SpringApplication整个生命周期重要环节
二、Spring Boot事件发布
1.切入点
Spring Boot和Spring 事件的触发发生在SpringApplication运行阶段,围绕run(String…)方法不同阶段触发。run(String…)结合SpringApplication初始化阶段完成的相关状态,进一步完善了运行时所需要准备的资源,随后启动Spring应用上下文,在此期间就会伴随Spring Boot和Spring 事件的触发
2. 源码(SpringBoot 2.0和1.0有一定的差别但不大,截图为2.0源码):
3.SpringApplicationRunListeners:
按照源码逻辑的实现,SpringApplicationRunListeners是有getRunListeners(String[] args)方法创建的,SpringApplicationRunListeners属于组合模式的实现,重点在其内部关联SpringApplicationRunListener集合
5.SpringApplicationRunListener:
SpringApplicationRunListener为Spring Boot应用运行时监听器,其监听方法被SpringApplicationRunListeners迭代执行。
监听方法有:
监听方法 | 运行时阶段说明 | 事件 |
---|---|---|
starting() | Spring应用刚启动 | ApplicationStartingEvent |
environmentPrepared(ConfigurableEnvironment) | ConfigurableEnvironment准备妥当&# |