Deep-Initialising Java Beanプロパティ[終了]
質問
Java Beanの値を初期化しますか?例:
([g | s] etters省略)
public class SomeClass {
private String foo;
private Date bar;
private Baz someObject;
}
(はい、これは厳密な意味でJava BeanではなくBeanとして使用されているPOJOです)
空のコンストラクターで、これらのメンバーを初期化しますか、それとも単に何もしませんか?同様に、Bazはメンバーも初期化しますか?
または、nullのままにしますか?
解決
ユースケースによって異なります。
プロパティをサービスの依存関係として使用する場合、適切に動作するようにプロパティを初期化する必要があります(ところで、Spring DIには便利な方法があります)。
ドメインモデルの一部としてBeanを使用する場合、通常、nullプロパティを持つことは不正な状態です。起動時に初期化されない場合がありますが、ビジネス操作中に一部のフィールドがnullの場合、IllegalStateExceptionをスローします。
他のヒント
可能な限り、変数を初期化する必要がある場合、宣言時に変数を初期化します。これらの初期化ステートメントは、実際にはコンストラクターから呼び出されます。
通常、それらを初期化する説得力のある理由がない場合、nullのままにします。
所属していません StackOverflow