这里发布了一个 ApplicationEnvironmentPreparedEvent 事件,这个事件对应的监听器 ConfigFileApplicationListener.
List<EnvironmentPostProcessor> loadPostProcessors() {
// 加载一些环境处理的后置处理器
return SpringFactoriesLoader.loadFactories(EnvironmentPostProcessor.class, this.getClass().getClassLoader());
}
postProcessor.postProcessEnvironment(event.getEnvironment(), event.getSpringApplication()); 中最后会调用到加载配置文件的逻辑。
但是spring中的监听器监听不到springboot中的事件。
3:创建容器 context = this.createApplicationContext();
根据不同的类型,创建不同的容器