Guice注入空检查?

时间:2014-06-02 14:45:15

标签: java guice inject

我在构造函数级别使用google guice注入。对参数进行空检查以确保它们不为null或者为我们执行注入是否有意义。顺便说一下,它是一个公共构造函数。

公共方法怎么样?

1 个答案:

答案 0 :(得分:6)

仅仅因为你发生在某些情况下使用Guice来调用构造函数并不意味着禁止其他任何东西调用它。

就个人而言,我会包括无效检查 - 如果你也使用番石榴,它们非常轻便。例如:

import static com.google.common.base.Preconditions.checkNotNull;

class Player implements SomeInterface {
    private final String name;

    @Inject
    Player(String name) {
        this.name = checkNotNull(name);
    }

    ...
}

除了其他任何内容之外,我希望你的一些测试直接调用构造函数 - 并且尽可能早地找到测试中的任何错误都很有用,就像其他代码一样。它还明确表达了你对后来出现的其他人的意图。