You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Spring Boot应用抛出UnsatisfiedDependencyException该如何解决

问题根因

从异常栈最底层的java.lang.IllegalArgumentException可以直接定位:kafkaConsumerConfig类中通过@Value注入了${ft.poll.sleep.duration}配置项,但Spring容器在加载时未找到对应的属性值,导致Bean创建失败,进而引发上层依赖的mdCalcEngineService初始化异常。

排查步骤
  • 检查配置文件配置项是否存在
    打开项目resources目录下的application.yml/application.properties主配置文件,以及对应激活环境的配置文件,确认是否存在ft.poll.sleep.duration配置:
    • yml格式注意层级缩进是否正确,不能用tab缩进、不能有多余空格
    • 配置名拼写和注入时的占位符完全一致,无大小写、拼写错误
  • 检查配置文件是否被正常加载
    确认项目编译后target/classes目录下存在对应的配置文件:如果pom.xml中自定义了build/resources规则,确认配置文件所在目录被纳入了扫描范围,避免编译时配置文件被遗漏。
    如果使用多环境配置,确认启动参数spring.profiles.active指定的环境对应的配置文件中包含该配置项。
  • 检查配置加载逻辑是否受限
    查看kafkaConsumerConfig类是否标注了@Profile、@ConditionalOnProperty这类条件注解,确认当前运行环境满足配置类的加载条件。
修复方案
  • 补全配置项
    在对应环境的配置文件中添加该配置,示例如下:
    yml格式:
    ft:
      poll:
        sleep:
          duration: 1000 # 数值根据业务需求调整,单位通常为毫秒
    
    properties格式:
    ft.poll.sleep.duration=1000
    
  • 配置增加默认值
    如果业务允许该配置缺失时使用默认值,修改@Value注解的写法,追加默认值即可避免启动失败:
    // 冒号后为默认值,配置不存在时会自动使用默认值
    @Value("${ft.poll.sleep.duration:1000}")
    private Long pollSleepDuration;
    
  • 配置中心相关检查
    如果该配置存储在Nacos、Apollo等外部配置中心,检查配置中心对应namespace、group下是否存在该配置,同时确认项目的配置中心连接参数、拉取规则配置正确,确保配置能被正常拉取到本地。

内容的提问来源于stack exchange,提问作者runnerpaul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:09:03