1. 首页
  2. 编程语言
  3. Java
  4. 解析SpringBoot @EnableAutoConfiguration的使用

解析SpringBoot @EnableAutoConfiguration的使用

上传者: 2021-12-22 01:04:06上传 PDF文件 78.36 KB 热度 16次

当时觉得挺urgly的,但也没有去研究有没有更好的方式。直到接触Spring Boot 后,发现其可以自动引入二方包的bean。直到最近面试的时候被问到。讲原理前先说下使用姿势。并在该project的resources/META-INF/下创建一个叫spring.factories的文件,该文件内容如下然后在project B中引用project A的jar包。projectA代码如下:打印结果:com.wangzhi.Dog@3148f668总体分为两个部分:一是收集所有spring.factories中EnableAutoConfiguration相关bean的类,二是将得到的类注册到spring容器中。在spring容器启动时,会调用到AutoConfigurationImportSelector#getAutoConfigurationEntrygetCandidateConfigurations会调用到方法loadFactoryNames:在上面的流程中得到了所有在spring.factories中指定的bean的类路径,在processGroupImports方法中会以处理可以看到,在第一步收集的bean类定义,最终会被以Configuration一样的处理方式注册到容器中。提供一个二方包给其他应用使用,只需要在二方包里将对外暴露的bean定义在spring.factories中就好了。

用户评论