springboot自定义自动配置

本文探讨在SpringBoot项目间依赖时,如何使被依赖项目中的@Configuration等注解生效。通过两种方法实现:一是利用spring.factories文件指定自动配置类;二是使用@Import注解直接引入配置类。文章深入解析其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

参考https://blog.youkuaiyun.com/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是制定的配置类

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

二.注解方式

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

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

原理看这篇https://blog.youkuaiyun.com/u014203449/article/details/86559350

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值