了解过springboot自动装配原理的同学都知道,项目启动时@EnableAutoConfiguration 通过SpringFactoriesLoader 加载所有META-INF下的spring.factories文件,根据EnableAutoConfiguration.class加载所有配置类。
来测试一下我说的对不对。
新建maven项目,如下图
Test就是我们要注入到ioc容器里的bean
@Component
public class Test {
public Test() {
System.out.println("hello my test bean");
}
}
ProjectConfig配置类,用来扫描我们的bean
@Configuration
@ComponentScan("com.example.beans")
public class ProjectConfig {
}
spring.factories 通过EnableAutoConfiguration读取我们的配置文件
org.springframework.boot.autoconfigure.
EnableAutoConfiguration =com.example.config.ProjectConfig
测试一下。把该maven项目打包,扔到别的项目中
上传本地jar包至maven私仓 表弟都能看明白_Fighter-CSDN博客
<dependency>
<groupId>dugt.test</groupId>
<artifactId>demo</artifactId>
<version>0.1.1</version>
</dependency>
引入定义好的bean 启动项目
ok。就是这么的简单! [吃瓜]
实战
微服务中,给别的服务提供接口,写一个单独的项目,打成maven包,在别的项目中引入使用即可。等等