小编Nil*_*Nil的帖子

带有Guice注入字段的Java构造函数以及非注入字段

我有一个类,它有一个构造函数,其中所有参数都由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)

java constructor guice code-injection

5
推荐指数
1
解决办法
1255
查看次数

标签 统计

code-injection ×1

constructor ×1

guice ×1

java ×1