无法获取第三方Spring Boot库中创建的Bean问题排查
检查库的自动配置声明
Spring Boot 2.7+依赖META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件,旧版本则用META-INF/spring.factories,第三方库需要在对应文件中声明包含@Bean的配置类。可以解压库的jar包,确认是否存在该文件,且文件内已正确配置对应配置类路径。确认应用开启自动配置
应用主类需添加@SpringBootApplication注解(该注解包含@EnableAutoConfiguration,负责加载第三方自动配置)。若主类仅用@Configuration+@ComponentScan,需手动添加@EnableAutoConfiguration注解开启自动配置功能。排查Bean创建的条件限制
查看库中customObject()方法的源码,是否带有条件注解:@ConditionalOnMissingBean:若你的应用已存在CustomObject类型Bean,库中的Bean会被跳过@ConditionalOnClass:若缺少某个依赖类,Bean不会生成@ConditionalOnProperty:若未配置指定属性,Bean不会创建
确认组件扫描范围
若库未通过自动配置加载,需检查@ComponentScan是否覆盖了库的配置类包路径。比如库配置类在com.example.lib.config下,需在主类注解中添加该路径:@ComponentScan(basePackages = {"你的应用包", "com.example.lib.config"}),或直接用@Import(库配置类.class)导入。验证依赖引入正确性
检查pom.xml中第三方库的groupId、artifactId、版本号是否正确,执行mvn dependency:tree查看依赖树,确认该库已被正确引入到项目中。
内容的提问来源于stack exchange,提问作者Onki

