理解springApplication之 springApplication准备阶段1

如下是具体的执行方法

1.

可以从BeanDefinitionLoader这个加载类中的方法来看!可以看到两种方式

这是利用模式注解来加载,@springBootApplication --》@springBootConfigertion --》 @component

这是第二种,用class或者xml的方式

2.

以上可以看到servlet,webmvc,webreactive同时存在时,优先级从大到小是servlet --》webmvc --> webreactive

当然,可以强制设置类型

3.

4.

利用Spring工厂加载机制,实例化ApplicationContextInitializer接口的实现类,被加载的实现类都配置在

MATE-INF/spring.factories文件中,getSpringFactoriesInstances(Class<T> type,Class<?>[] parameterTypes, Object... args)这个方法就负责加载配置类并实例化和排序后返回,后面监听器、异常收集器和Runner等也是通过这个类实现实例化对应实现类的。
 

5.

更多请参考

https://blog.csdn.net/qq_25885525/article/details/81784424

猜你喜欢

转载自blog.csdn.net/qq_41023026/article/details/90199943