3 Stimmen

Wie verwendet Spring.NET private Setter?

Beim Experimentieren mit diese Frage zu Sammlungen in Spring.NET Ich habe entdeckt, dass Spring eine Abhängigkeit mithilfe eines privaten Setters injizieren kann. Ich habe zwei Fragen:

  1. Ist dies irgendwo dokumentiert?
  2. Wird die Verwendung von privaten Setzern empfohlen?

Die Dokumentation sagt:

Setter-basierte DI wird durch den Aufruf von Setter-Methoden auf Ihren Objekten realisiert...

Zugegeben, es wird nicht ausdrücklich gesagt öffentlich Setter-Methoden, aber das hatte ich immer angenommen. Ich verwende Version 1.0.2 auf .NET 3.5.

2voto

Erich Eichinger Punkte 1858

Don,

Nein, das ist nicht dokumentiert - vor allem, weil wir es nicht empfehlen. Die Funktion ist dazu da, um seltene Eckfälle zu unterstützen, wenn man mit Legacy-/Drittanbieter-Bibliotheken arbeitet.

Sie sollten nur öffentliche Setter verwenden, die Sie auch innerhalb Ihrer Unit-Tests aufrufen können!

hth, Erich

1voto

duffymo Punkte 298898

Die Java-Version von Spring verwendet Reflection, die auf diese privaten Setter zugreifen kann. Das ist gut, denn Sie möchten niemanden dazu zwingen, ein unveränderliches Objekt zu ändern, nur um Spring zufriedenzustellen.

Ich persönlich bevorzuge die Verwendung von Konstruktorinjektion, wann immer ich kann.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X