一、问题描述
我这自定义了一堆starter,然后打包成jar,在主程序里引入进来,启动就报错,只有是引入自定义starter里的bean就会报找不到该bean,也就是没有被spirng扫描到,搜索如下关键字:
spring boot自动装配注入失败,spring boot自定义starter没有初始化,spring boot自动装配无效,没有执行
二、解决方法
网上找了一圈,无果,基本上都是说启动类所在包引起啥的,在@SpringBootApplication注解里添加scanBasePackages指定包名:
@SpringBootApplication(scanBasePackages = "com.aaa.bbb")
我这启动类本身就放在aaa包下,根本就不存在该问题,在网上看了一圈,没找到有啥价值的答案,目前确定的是,这个问题肯定是自动装配引起的,没有初始化,然后又去搜了下,自动装配的原理,看了下,然后通过Debug的方式找到了问题所在,在org.springframework.boot.autoconfigure.AutoConfigurationImportSelector#getCandidateConfigurations方法里找到了答案
在断言中提示:
No auto configuration classes found in META-INF/