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

Spring Boot中Manager类加@NoArgsConstructor导致ModelMapper为空的原因

问题原因解析

核心问题:构造函数优先级导致依赖注入失效

你的JobPositionManager类同时使用了@Service、@AllArgsConstructor和@NoArgsConstructor三个注解,这直接引发了modelMapperService为空的错误:

  • @AllArgsConstructor是Lombok注解,会自动生成包含所有类成员变量的构造函数。Spring管理@Service标注的Bean时,原本会通过这个全参构造函数,自动把ModelMapperService这类依赖注入到JobPositionManager实例中。
  • 但当你额外添加@NoArgsConstructor后,Spring会优先选择无参构造函数创建JobPositionManager实例。这种情况下,类中的modelMapperService成员变量完全没有被赋值,始终为null,调用它的方法时自然触发空指针错误。

无关说明:ModelMapper配置不影响本次问题

你提到的.setSkipNullEnabled(true)是ModelMapper自身的映射规则配置,和依赖注入失败的问题没有关联,无需针对这个配置做调整。

快速解决

直接删除@NoArgsConstructor注解,Spring就会回到使用@AllArgsConstructor生成的全参构造函数完成依赖注入,modelMapperService就能正常被赋值了。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 18:05:09