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

Spring Boot中使用Lombok的@AllArgsConstructor注解时出现onConstructor_()方法未找到错误

Spring Boot中使用Lombok的@AllArgsConstructor注解时出现onConstructor_()方法未找到错误

嘿,这个问题我之前也踩过坑,其实是Lombok版本更新带来的小变化导致的!

你碰到的报错cannot find symbol: method onConstructor_(),核心原因是你当前用的Lombok版本已经废弃或移除了onConstructor_这个属性——在Lombok的新版本(大概1.18.16及以后)里,这个带下划线的写法被改成了不带下划线的onConstructor。

给你两个实用的解决方案:

方案一:适配新版本Lombok,修正注解写法

直接把注解里的onConstructor_改成onConstructor就行,修正后的代码如下:

@AllArgsConstructor(onConstructor = @Autowired)

方案二:更简洁的写法(适配Spring Boot 2.2+)

如果你的Spring Boot版本是2.2及以上,其实连onConstructor参数都可以省掉!因为Spring Boot 2.2+默认支持构造方法注入,只要你的类是Spring管理的Bean(比如标注了@Repository、@Service这类注解),直接用@AllArgsConstructor就够了,Spring会自动把依赖注入到构造方法里:

@AllArgsConstructor
@Repository
public class YourRepository {
    private final YourDependency dependency;
}

要是你的项目因为某些限制必须用老版本Lombok,那得确保依赖版本在1.18.10左右(这个版本还保留onConstructor_),但更推荐升级Lombok版本并使用新写法,毕竟老写法已经被官方废弃了。

备注:内容来源于stack exchange,提问作者user32299629

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 18:38:10