SpringBoot之spring.factories的⽤法(16)
原因
为什么要使⽤,因为在程序开发中,可能包名不⼀样,pom依赖的很多的jar 他们是如何把这些类进⾏注⼊到spring容器中的呢。
所以springboot就提出了spring.factories
使⽤
⼀、第⼀种
新建⼀个Test类
st;
public class Test {
public Test() {
System.out.println("Test加载");
spring boot选择题}
}
1.如果我们要把Test这个类注⼊到IOC中,原来的⽅式只能写到启动类的包下⾯,或者在启动类中加@ComponentScan,⾥⾯是包名。
2.,使⽤spring.factories 可以解决这个问题,在resources下⾯创建⽂件夹META-INF 在创建⼀个⽂件spring.factories。
3.编辑 spring.factories ⽂件,写⼊
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
4.启动,在控制台我们可以看到,说明这个类以及注⼊到spring中。
原理
SpringFactoriesLoader载荷从和实例化给定类型的⼯⼚“META-INF / spring.factories”⽂件,其可存在于在类路径多个JAR⽂件。该spring.factories⽂件必须为Properties格式,其中的关键是接⼝或抽象类的完全合格的名称和值是⼀个逗号分隔的实现类名的列表。例如:example.MyService=example.MyServiceImpl1,example.MyServiceImpl2
其中example.MyService是接⼝的名称,和MyServiceImpl1和MyServiceImpl2两种实现。
⼆、第⼆种
在@SpringBootApplication启动类加上@Import(需要注⼊的类)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论