Java 用于抽象类的Google Guice和Lombok-@AllArgsConstructor(onConstructor=@_uu(@Inject))
我发现Java 用于抽象类的Google Guice和Lombok-@AllArgsConstructor(onConstructor=@_uu(@Inject)),java,guice,lombok,Java,Guice,Lombok,我发现@allargsconstuctor(onConstructor=@_u(@Inject))有助于在使用Google Guice时保持代码整洁。我可以保存构造函数代码。例如: @AllArgsConstructor(onConstructor = @__(@Inject)) public class SomeClass { private final DependentClassOne classOne; private final DependentClassTwo cl
@allargsconstuctor(onConstructor=@_u(@Inject))
有助于在使用Google Guice时保持代码整洁。我可以保存构造函数代码。例如:
@AllArgsConstructor(onConstructor = @__(@Inject))
public class SomeClass {
private final DependentClassOne classOne;
private final DependentClassTwo classTwo;
// ...
}
对于abstract
类,我可以将@Inject
用于构造函数
@AllArgsConstructor(onConstructor = @__(@Inject))
public abstract class AbstractParentClass {
private final DependentClassOne classOne;
}
public class ChildClass extends AbstractParentClass {
private final DependentClassTwo classTwo;
@Inject
public ChildClass(final DependentClassOne classOne, final DependentClassTwo classTwo) {
super(classOne);
this.classTwo = classTwo;
}
}
是否可以使用类似于
@allargsconstuctor(onConstructor=@uuu(@Inject))
的方法将构造函数代码保存在ChildClass
中?否,由于Lombok的限制,如果存在父构造函数,则无法在子类中定义allargsconstuctor
(请参见此项和另一项)
您可以将父级中的字段/设置器注入与子级中的构造函数注入混合使用,但我建议避免这种情况