Spring中的spring.factories文件(Spring如何加载第三方Bean)
引言在springBoot中,它自动扫描包的时候,只会扫描自己模块下的类。问题如果我们不想被Spring容器管理的Bean的路径下不再SpringBoot的包扫描路径下,怎么办呢?如何加载别的第三方Bean呢?解决首先我们创建一个工程,另外创建一个与启动类不在一个级别的目录。第一种方法就是使用在启动类上加上@Import注解。@Import(value = {Test.class})第二种方法就是
·
引言
在springBoot中,它自动扫描包的时候,只会扫描自己模块下的类。
问题
如果我们不想被Spring容器管理的Bean的路径下不再SpringBoot的包扫描路径下,怎么办呢?如何加载别的第三方Bean呢?
解决
首先我们创建一个工程,另外创建一个与启动类不在一个级别的目录。
- 第一种方法就是使用在启动类上加上@Import注解。
@Import(value = {Test.class})
- 第二种方法就是创建spring.factories文件
现在我们将其改造一下,采用spring.factories的方式去加载Test类,在resources目录下新建一个META-INF的目录,然后再新建一个spring.factories文件,文件内容为:
下面第二条就是我们自己的类的路径。
org.springframework.boot.autoconfigure.EnableAutoConfiguration=/
com.huawei.it.config.Test
然后在springBoot中的启动类中将@Import注释掉,启动一下,在控制台上就会发现,我们自己的配置类已经加载到Spring容器中去了,所以Spring可以加载一个工程下的任意一下工程类了。
应用
下面就是我在Nacos源码中看到的,可以看到spring.factories文件中内容,与我们自己类加载到Spring容器中是一样的道理。
更多推荐




所有评论(0)