目录
@Configuration和spring.factories区别
概述
在公司"统一配置中心"项目的开发过程中,需要把开发的客户端的代码打成jar包放到客户端,但是方法一直进不去即客户端启动时并没有jar包中的配置类加载到IOC容器中.
开发过程中的疑问:明明已经加了@Configuraion为什么方法进不去,IOC容器中没有这些bean
针对上述问题,可以使用spring.factories解决
@Configuration和spring.factories区别
@Configuration一般被用来初始化配置,有三种方法可以使带有@Configuration的类被初始化,一为让把类所在包的路径纳入 scanBasePackages,这样就进入了Spring的扫描范围;通过@Import;还有一种方法就是在spring.factories中用 org .springframework.boot.autoconfigure.EnableAutoConfiguration=类的全路径名,这样在项目启动的时候SpringFactoriesLoader会初始化spring.factories(包括引入的jar包中的)中配置的类。
在spring.factories配置的好处就是,如果我们想开发一个jar把供其他人使用,那么我们就在自己工程的spring.factories中配置@Configuration类,这样只要其他人在他们项目的POM中加入了我们开发的jar包作为依赖,在他们项目启动的时候就会初始化我们开发的工程中的类.