2009-05-05 7 views
10

Ich sehe, dass Frühling eine @Required Anmerkung hat Membervariablen in Bohnen zu markieren, die eingestellt werden müssen.Empfohlene Verwendung von Spring @Required Anmerkung

Gibt es eine bewährte Methode, dies zu nutzen?

Zum Beispiel könnte es besser sein, diese Werte im Konstruktor zu setzen und diese Parameter explizit erforderlich machen (insb. Wenn sie außerhalb des Frühlings verwendet wird)?

Danke!

Antwort

8

Während nicht auf die direkt, Martin Fowler bietet @Required Anmerkung bezieht this advice ...

Er zieht es eher Objektwerte im Konstruktor setzen als in Setter wie es wird "Sie geben eine klare Aussage von dem, was es bedeutet, ein gültiges Objekt in einem offensichtlichen Ort zu schaffen „während es auch“ man deutlich erlaubt, um alle Felder ausgeblendet, indem Sie einfach unveränderlich sind keine Setter“bereitstellt.

+3

Ferner Einstellung/Variablen im Konstruktor instanziieren können Sie sie als endgültig erklären. Eine letzte Variable, zusammen mit der Bereitstellung einer klaren Verwendungsabsicht (wie Sie es vorgeschlagen haben), ist ein Schritt in Richtung der Erreichung von Unveränderlichkeit (es lohnt sich, wenn Ihr Objekt Thread-sicher sein muss). – CaptainHastings

Verwandte Themen