EnableAutoConfiguration工作原理

2018-06-16  本文已影响0人  小河土

spring boot ------@EnableAutoConfiguration工作原理

 


首先看下 EnableAutoConfiguration 这个类,这个类里面有两个方法

这个两个其实我们都知道是排除配置类的方法

exclude:  类.class

excludeName:  这个是类的全路径。

其实 这个里面主要核心Ipmort 这个注解,我们可以点进去看一下


我们可以看到这个这个类实现了DeferredImportSelector,

DeferredImportSelector这个类又继承了ImportSelector

我们回过头来看AutoConfigurationImportSelector 这个类里面的selectImports 这个方法这个方法是重写了 ImportSelector这个类的方法,


可以看下这个文件


通过SpringFactoriesLoader.loadFactoryNames() 这个方法读取NETA-INF/spring.factories 这个文件里面key(一个类) 对应的value值 多个会用逗号隔开,然后把这些自动配置的类的全名类返回。然后返回的数组里面的className就会被spring 纳入容器管理起来。

其内部关键点:

1.ImportSelector 该方法的返回值会纳入spring 容器种中

2.SpringFactoriesLoader.loadFactoryNames() 读取classPtah下面META-INF/spring.factories下面的配置类。

我们也可以在自己的目录下面去新建META-INF/spring.factories这样的文件,在里面可以去配置自己想要加载的类。

以上说的不是很好,如果有不对的地方请指出来, 谢谢。

上一篇 下一篇

猜你喜欢

热点阅读