1

您是否为初始化 java bean 值而烦恼?比如说:

([g|s] 字母省略)

public class SomeClass {

    private String foo;

    private Date bar;

    private Baz someObject;

}

(是的,这是一个 POJO 被用作 bean,而不是严格意义上的 Java Bean)

在空的构造函数中,你是初始化这些成员,还是干脆什么都不做?同样,Baz 也会初始化它的成员吗?

还是您只是将它们保留为空?

4

2 回答 2

1

这取决于用例。

如果我使用属性作为服务依赖项,它们应该被初始化以正常运行(顺便说一句,Spring DI 有方便的方法来做到这一点)。

如果我使用 bean 作为域模型的一部分,那么拥有一些 null 属性通常是非法状态。它可能在启动时没有初始化,但是如果在业务操作期间某些字段为空,我会抛出 IllegalStateException。

于 2008-10-22T06:01:11.167 回答
0

如果可能的话,如果需要初始化变量,我会在声明时初始化它们。这些初始化语句实际上最终是从构造函数中调用的。

如果没有令人信服的理由来初始化它们,我通常会将它们保留为空。

于 2009-01-13T20:22:31.880 回答