【发布时间】:2021-02-17 09:10:40
【问题描述】:
我是使用 Lombok 注释的新手。我的目标是通过使用 Lombok 注释来最小化任何代码样板
我有 ff。我用 Lombok 注释的子类 @SuperBuilder
@Service
@SuperBuilder
public class Child extends Parent{ //class doesn't contain matching constructor for autowiring (error message)
private final ChildFieldA a;
private final ChildFieldB b;
private final ChildFieldC c;
public Child(ParentField d, ParentField e, ChildField a, ChildField b, ChildField c){
super(d,e); //Expected 1 arguments but found 3 (error message)
this.a = a;
this.b = b;
this.c = c;
}
}
还有抽象父类,
@SuperBuilder
public abstract class Parent{
private final ParentField d;
private final ParentField e;
}
请注意,对于 2 个类的当前定义,Child 类有 2 条错误消息。
如果我将整个 Child 类的 constructor 全部移除,那么 Child 类上的 @SuperBuilder 注释能否保证最终字段的初始化仍然发生?
换句话说,我是否可以完全删除 Child 类的 constructor 并在 Child 和 Parent@SuperBuilder 注释/strong> 上课?
我特别想使用@SuperBuilder。我在某处读到我不能在课堂上将@Builder 与@SuperBuilder 混合在一起。
如果有任何建议或解释,我将不胜感激。
【问题讨论】:
标签: java intellij-idea lombok intellij-lombok-plugin