springboot项目启动的时候,会把springboot目录下的类加载到 spring容器中。在代码里就可以直接使用这个创建好的类了。所以一般的springboot项目的启动类都是放在代码的外层,那么就可以扫描到代码中所有的类了。如图:
可是,如果有的类需要spring去管理,但是存放的位置不在springboot启动类目录下,无法自动扫描到,比如这个swagger的配置类,那如何才能使得这个类同样被加载到spring容器中。如图;
使用spring.factories可以实现,在resource目录下建立META-INF文件夹,并建立spring.factories文件,内容如下:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.system.api.factory.RemoteUserFallbackFactory
这样就实现了spring对指定目录的扫描。