我正在用Lombok插件做一个Spring项目。我添加了注释,并使父类的字段最终初始化,使用@AllArgsConstructor或@必需ArgsConstructor而不是字段注入(使用类字段的@autowed)。但是,由于某种原因,子类DraftsPostmethod报告了一条消息,即在父类AbstractFuntoryServicemethod中没有找到默认构造函数
我不确定是什么导致了它,因为我在其他类上也做了同样的事情(添加了注释),以Lombok的方式初始化它们。
该子类报告一个错误,该错误读取为"有没有可用的默认构造函数...抽象贡献服务方法”
子类:
@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注释将生成它正在寻找的默认构造函数。
https://projectlombok.org/features/constructor
问题内容: 我有一个“ ChildClass”类,它扩展了“ ParentClass”类。我不想完全替换父类的构造函数,而是要先调用父类的构造函数,然后再做一些额外的工作。 我相信默认情况下会调用父类的0参数构造函数。这不是我想要的 我需要用参数调用构造函数。这可能吗? 我试过了 但这不起作用,因为您无法修改“ this”。 问题答案: 您可以从子代的构造函数中以“ super”引用父代的构造函数
我在Java有一个简单的亲子实现。父类看起来像: 和子类类似于: 当我打电话的时候 我希望BasePage构造函数也能运行并设置配置数据。但BasePage构造函数根本不运行。我不明白为什么。有人能告诉我为什么吗?谢谢.
因此,我有了类、、和。由于类有很多setter和getter,所以我决定将代码放在pastebin中: LogBookEntry 驱动程序 数据库 汽车 因此,正如您在数据库中所看到的,我有两个函数来加载和保存XML数据。 如您所见,类的日期不会保存到XML文件中。这就是为什么我在加载xml文件时会出现以下错误的原因: Okt 22,2017 3:36:33 PM com.sun.xml.inte
所以我在学习java继承,我遇到了一个我不知道如何解决的问题。 我要做的是从超类中调用一个子类构造函数。我不知道这是否有任何意义,但我会尝试用一个例子来解释我自己。 我为什么要这么做? 我希望能够主要不必处理智能手机。 我希望能够做到:
我想创建一个抽象的父类,其中包含方法公共抽象使用();和使用方法在不同的子类是不同的,但利用父方法的所有Rest,但我希望父类包含一个私有变量,但它需要设置从特定的孩子取决于孩子所以像我有一个家长车,我想与汽车一般工作,但为特定目的的use()方法和设置汽车图像我使用保时捷类这是一个孩子。我不希望汽车图像属性是可访问的,但同时如果它的私人我不能从子构造函数设置它,有什么想法吗?我的问题是如何设置一
问题内容: 我试图给我的子类默认变量,并在文件变胖时停止重复代码: 当然可以,但是我想以同样的方式初始化,只是用真实的字符串覆盖(所有登录样式都是相似的)。 为什么我什么都没得到属性,该如何解决?谢谢 请注意,删除基类默认设置会导致其他问题 解决了: 问题答案: 您必须将参数从init 传递到以下内容的init块: 在您的代码中,调用init时不带参数,因此采用其默认参数all 。