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

Lombok的@AllArgsConstructor是否存在Bug?Spring Boot启动报错咨询

Spring Boot启动报错:构造函数依赖的String类型Bean未找到(Lombok @AllArgsConstructor引发)

问题现象

启动Spring Boot应用时抛出如下错误:
be.mypackage.dataimport.soft99.transformers.visit.VisitTransformer类的构造函数第17个参数需要类型为'java.lang.String'的Bean,但未找到。

问题背景

  • VisitTransformer类使用了Lombok的@AllArgsConstructor注解,类内存在一个私有String类型成员变量
  • 该代码此前运行正常,但从2023年10月6日起突然失效,排查Lombok更新日志未发现相关变更,怀疑是Lombok引入的隐性Bug

原因分析

Spring处理构造函数注入时,会将构造函数的所有参数视为需要从容器获取的Bean。由于@AllArgsConstructor会生成包含所有成员变量的构造函数,其中的普通String变量会被Spring误认为是需要注入的Bean,而项目中并没有定义对应的String类型Bean,因此触发报错。

解决方案

直接移除@AllArgsConstructor注解,手动编写构造函数,只纳入需要Spring注入的依赖参数,排除那个普通String成员变量;如果该String是配置项,也可以给它加上@Value注解指定值,让Spring识别参数来源,此时也能保留@AllArgsConstructor。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 02:34:50