springboot自定义自动配置

在A项目中使用了@Component @Configuration 注解,打成jar包,B项目依赖A项目,直接启动B,Ajar中的那些注解是不起作用的,springboot只扫描启动类路径下的注解,这种情况都需要自定义自动配置;或者在B项目配置@ComponentScans指定扫描策略扫描A的类

参考https://blog.csdn.net/u014229282/article/details/80996340

场景:我写了一个名为uaa的项目,里面有一些配置,注解了@Configuration,另一个项目notice依赖uaa项目,启动notcie项目,属于uaa项目的配置类并没有注入spring容器。

notice项目本身的@Configuration,配置类可以注入容器中,因为@Configuration注解的类必须在springboot启动类路径下才有效果。

一.spring.factories方式

在uaa项目的resourcecs下建META-INF文件夹,里面建立spring.factories文件,内容:org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.focus.uaa.config.ShiroClientConfig

value是制定的配置类

springboot自定义自动配置_第1张图片

再启动notice项目,uaa项目的配置类就生效了

二.注解方式

在Notice项目的启动类上加@Imort注解,里面是指定配置类的class。

第一种方式用的是notice项目的自动配置会扫描带META-INF的jar包,但底层也是用了@Import注解。

原理看这篇https://blog.csdn.net/u014203449/article/details/86559350

你可能感兴趣的:(Spring,springboot)