如何解决使用@RequiredArgsConstructor Lombok 的父类的子类在父类中找不到默认构造函数
我正在使用 Lombok 插件进行 Spring 项目。我添加了 @requiredArgsConstructor
注释并使父类的字段 final
使用 @AllArgsConstructor
或 @requiredArgsConstructor
而不是字段注入(使用 @Autowired
用于类字段)来初始化它.
但是,出于某种原因,子类 DraftsPostMethod 报告了一条消息:在父类 AbstractContributoryServiceMethod
我不确定是什么原因造成的,因为我在其他类上做了同样的事情(添加了注释)来初始化它们 Lombok 方式。
子类报错“There is no default constructor available in ... AbstractContributoryServiceMethod”
子类:
@Service
public class DraftsPostMethod extends AbstractContributoryServiceMethod<DraftManagementRequest,BasicServiceModel<DraftManagementRequest>,BasicServiceResponse<Void>> {
private final Validator<DraftManagementRequest> validator = new Validator<DraftManagementRequest>(){
@Nonnull
@Override
public ValidationState validate(DraftManagementRequest draftManagementRequest){
return ValidationState.commence();
}
};
private final DraftService draftService;
@Autowired
public DraftsPostMethod(DraftService draftService){ // getting the red line error here
this.draftService = draftService;
}
//...and so on...
}
父类:
@requiredArgsConstructor
public abstract class AbstractContributoryServiceMethod {
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
private final ExceptionManager exceptionManager; //this line was @Autowired private ExceptionManager exceptionManager
private final ValidationErrorTranslator validationErrirTranslator; //this line was @Autowired private ValidationErrorTranslator validationErrirTranslator
private final ExceptionDetailsLogger exceptionDetailsLogger; //this line was @Autowired private ExceptionDetailsLogger exceptionDetailsLogger
//... and so on...
}
如有任何意见或答案,我将不胜感激。谢谢。
解决方法
Lombok 的 @NoArgsConstructor 注释将生成它正在寻找的默认构造函数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。