Heim  >  Artikel  >  Java  >  Wie fügt man im Frühjahr Abhängigkeiten in selbstinstanziierte Objekte ein?

Wie fügt man im Frühjahr Abhängigkeiten in selbstinstanziierte Objekte ein?

Barbara Streisand
Barbara StreisandOriginal
2024-10-29 23:46:29348Durchsuche

How to Inject Dependencies into Self-Instantiated Objects in Spring?

Injektionsherausforderungen für selbstinstanziierte Objekte in Spring überwinden

Bei der Arbeit mit Spring ist es üblich, Abhängigkeiten durch Annotationen und Abhängigkeitsinjektion zu verwalten. Es kann jedoch vorkommen, dass Sie über ein selbstinstanziiertes Objekt außerhalb des Spring-Kontexts verfügen. Wie können Sie in solchen Fällen trotzdem die Injektionsfunktionen von Spring nutzen?

Das Dilemma: Manuelle Instanziierung und Abhängigkeitsverwaltung

Stellen Sie sich das folgende Szenario vor:

<code class="java">public class MyClass {
    @Autowired private AnotherBean anotherBean;
}

...

MyClass obj = new MyClass();</code>

Sie haben instanziiert MyClass manuell, möchte aber seine Abhängigkeiten wie eine andere Bean einfügen. Wie gehen Sie vor?

Lösung: Verwendung der AutowireCapableBeanFactory

Spring stellt die AutowireCapableBeanFactory-Schnittstelle bereit, die es uns ermöglicht, Abhängigkeiten in jedes beliebige Objekt, einschließlich selbstinstanziierter Objekte, einzufügen. So greifen Sie auf die BeanFactory zu:

<code class="java">private @Autowired AutowireCapableBeanFactory beanFactory;</code>

Abhängigkeiten in ein selbstinstanziiertes Objekt einfügen

Mit der beanFactory können Sie Abhängigkeiten in Ihr Objekt einfügen:

<code class="java">public void doStuff() {
   MyBean obj = new MyBean();
   beanFactory.autowireBean(obj);
   // obj will now have its dependencies autowired.
}</code>

Danach Durch den Aufruf von autowireBean werden die Abhängigkeiten Ihres instanziierten Objekts eingefügt und sind einsatzbereit. Mit diesem Ansatz können Sie die Abhängigkeitsinjektionsfunktionen von Spring auch für Objekte nutzen, die Sie manuell erstellen.

Das obige ist der detaillierte Inhalt vonWie fügt man im Frühjahr Abhängigkeiten in selbstinstanziierte Objekte ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn