我有一个类,它有一个构造函数,其中所有参数都由GUICE注入.
Public class Order {
private final ClassOne classOneObj;
private final ClassTwo classTwoObj;
@Inject
public order(ClassOne classOneObj, ClassTwo classTwoObj){
this.classOneObj = classOneObj;
this.classTwoObj = classTwoObj;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我想再添加一个无法注入的字段(例如,int status)变量.
首先使用所有注入的参数创建对象然后设置无法使用setter方法注入的新字段是一个好习惯吗?
我提出了另一种方法,我创建了一个工厂类,如下所示:
public class OrderFactory {
private final ClassOne classOneObj;
private final ClassTwo classTwoObj;
@Inject
public order(ClassOne classOneObj, ClassTwo classTwoObj){
this.classOneObj = classOneObj;
this.classTwoObj = classTwoObj;
}
//getter methods for all the above variables
public ClassOne getclassOneObj(){
return classOneObj;
}
....
public Order createOrder(int status) {
return new Order(status, classOneObj, classTwoObj); …Run Code Online (Sandbox Code Playgroud)