SpringBoot启动报错:找不到EventSourcingServiceFactory类型Bean
先检查是否需要手动开启starter的注解
很多第三方starter不会自动生效,需要在你的Spring Boot启动类上添加对应开启注解。比如tiny-event-sourcing-spring-boot-starter通常需要加@EnableQuipy注解,这个是触发该库自动配置的关键,之前只加@ComponentScan和@EnableAutoConfiguration可能不够。确认
@ComponentScan扫描范围覆盖外部依赖包
如果你的@ComponentScan只指定了自己项目的包路径,Spring不会扫描ru.quipy下的类,自然找不到对应的Bean。修改注解为:@ComponentScan(basePackages = {"com.yourpackage", "ru.quipy"})校验依赖引入与版本兼容性
执行gradle dependencies命令,检查ru.quipy:tiny-event-sourcing-spring-boot-starter:2.3.0是否被正确引入,有没有被其他依赖排除的情况。同时确认该版本的starter和你项目使用的Spring Boot版本是否兼容,比如有些starter只支持特定范围的Spring Boot版本,版本不匹配会导致自动配置失效。查看自动配置调试日志找原因
启动项目时加上debug参数:gradle bootRun --debug,在日志里搜索AutoConfiguration相关内容,找到Quipy对应的自动配置类,看它是否被加载,或者被排除的原因(比如缺少必要的配置属性、缺失依赖类等)。手动注册Bean(兜底方案)
如果以上方法都无效,可以在你的EventSourcingConfig类里手动创建Bean:@Bean public EventSourcingServiceFactory eventSourcingServiceFactory() { // 替换为你Ctrl-click看到的反编译实现类 return new EventSourcingServiceFactoryImpl(); }注意:手动注册可能会绕过starter的自动配置逻辑,比如配置文件里的属性可能无法绑定到Bean上,所以优先让自动配置生效。
内容的提问来源于stack exchange,提问作者S1mY

