springboot starter 中应该注意的问题

今天工作走中遇到一个问题:

spring-main依赖spring-aaa(springboot start项目)

在spring-aaa项目中,用@component注释的bean,无法从容器中获取。(无法autowired)

思考肯定是spring-aaa中的bean在maven导入spring-main时,不是所有的bean都被加载到spring-main的容器中。

所有的springboot start项目中,会定义xxxAutoConfigeration配置类

然后将配置类以key-value的方式写入spring.factories。

spring-main依赖的时候,springboot启动的时候,会去调用所有依赖项目的spring.factories的配置类。

然后把相关的bean配置到spring-main的容器中。

扫描二维码关注公众号,回复: 8157673 查看本文章

解决:根据上面的思路,将@component注释的bean,换一种方式。用@bean的方式写入在xxxAutoConfigeration配置类中

猜你喜欢

转载自www.cnblogs.com/windy13/p/12026292.html