目录
3、getAutoConfigurationEntry()方法
3.2、getCandidateConfigurations()方法
3.4、返回值AutoConfigurationEntry对象
SpringBoot版本:2.1.1
复习一下,在之前关于Spring Boot的第三篇博文中,使用EnvironmentPostProcessor接口可以加载外部配置文件,要在META-INF/spring.factories文件中注册,key是EnvironmentPostProcessor接口全类名,value是实现类的全类名。
@EnableAutoConfiguration也可以加载第三方配置,同样要在META-INF/spring.factories文件中注册,key是@EnableAutoConfiguration的全路径,value是需要加载的类或配置类的全路径,可以是普通类或者配置类,如果是配置类,里面的bean会被纳入spring容器,多个用逗号隔开。
Demo
先来看一个@EnableAutoConfiguration导入第三方配置的例子,随便建一个项目SpringBoot_OutsideConfig,然后建一个bean还有一个配置类。项目结构如下:
pom.xml如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.eastcom</groupId>
<artifactId>SpringBoot_OutsideConfig</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.3.RELEASE</version>
</dependency>
</dependencies>
</project>
OutSideBean:
public class OutSideBean {
public OutSideBean() {
System.out.println("===============>>>OutSideBean被创建");
}
}
OutsideConfiguration:
public class OutsideConfiguration {
@Bean
public Runnable outsideRunnable() {
return ()->{};
}
}
建好以后在项目上右键-->Run As-->Maven Install。这个项目就先放一边。然后在前面的父工程下新建子项目SpringBoot_EnableAutoConfiguration。
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVe