Application配置文件的解析

126 阅读1分钟

1、ConfigFileApplicationListener是通过查找META-INF/spring.factories文件

企业微信20210407-161741.png

2、ConfigFileApplicationListener的继承关系如图:

企业微信20210407-161523.png

3、负责监听以下两种事件的触发:

企业微信20210407-162116.png

ApplicationEnvironmentPreparedEvent事件的触发过程:
    SpringApplication#run
        |
    SpringApplication#prepareEnvironment
        |
    SpringApplicationRunListeners#environmentPrepared
        |
    EventPublishingRunListener#environmentPrepared
        |
    SimpleApplicationEventMulticaster#multicasterEvent发布ApplicationEnvironmentPreparedEvent事件

ApplicationPreparedEvent事件的触发过程:
    SpringApplication#run
        |
    SpringApplication#prepareContext
        |
    SpringApplicationRunListeners#contextLoaded
        |
    EventPublishingRunListener#contextLoaded
        |
    SimpleApplicationEventMulticaster#multicasterEvent发布ApplicationPreparedEvent事件