Frage

Haben Sie Java Bean Werte plagen Initialisierung? Nehmen wir zum Beispiel:

([g | s] Etters weggelassen)

public class SomeClass {

    private String foo;

    private Date bar;

    private Baz someObject;

}

(Ja, das ist ein POJO als Bohne verwendet wird eher als ein Java Bean im engeren Sinne)

Im leeren Konstruktor initialisiere Sie diese Mitglieder oder einfach nichts tun? Ebenso würde Baz initialisieren Mitglieder als auch das?

oder lassen Sie sie einfach als null?

War es hilfreich?

Lösung

Es hängt vom Anwendungsfall.

Wenn ich Eigenschaften als Service-Abhängigkeiten, sollten sie initialisiert werden, richtig zu funktionieren (btw, hat Frühling DI praktische Möglichkeit, es zu tun).

Wenn ich Bohne als Teil des Domain-Modell verwenden, ist es in der Regel illegal Zustand ist eine Null-Eigenschaft zu haben. Es kann beim Start nicht initialisiert werden, aber ich Illegal Mühe zu werfen, wenn einige Feld während des Geschäftsbetriebs null ist.

Andere Tipps

Wenn möglich, ich initialisieren Variablen bei der Deklaration, wenn sie initialisiert werden müssen. Diese Initialisierungsanweisungen tatsächlich aufzuwickeln vom Konstruktor aufgerufen wird.

Ich lasse im Allgemeinen sie als null, wenn es kein zwingender Grund, sie zu initialisieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top