Freunde unten ist mein Code, ich versuche, Abhängigkeits-Einspritzung mit Frühling
auszuführenIch habe eine Schnittstelle, zwei Klassenimplementierungen dieser Schnittstelle.
Eine Bean.xml und eine Hauptmethodenklasse.
Schnittstelle IWriter.java
%Vor%Klasse Writer.java
%Vor%Klasse NiceWriter.java
%Vor%Eine andere Klasse
%Vor%Main.java
%Vor%bean.xml
%Vor%Wenn ich den Code Spring Container ausführen gibt die Ausgabe der Methode der Writer.java-Klasse. Ich habe nirgends angegeben, welche Implementierung auszuwählen ist. Wie greift Spring die Implementierung von Writer.java auf?
Ändern Sie Ihren Code wie folgt.
Klasse Writer.java
%Vor%Klasse NiceWriter.java
%Vor%Eine andere Klasse
%Vor%Wenn es mehr als eine Implementierung der Schnittstelle gibt und Sie @Autowired verwenden, binden Sie in diesem Fall die Klasse. Wenn Sie jedoch eine bestimmte Implementierung automatisch ansteuern möchten, können Sie
verwenden %Vor%Wenige Dinge, die Sie über Spring wissen müssen, sind
Autowiring geschieht, indem eine Instanz einer Bean in das gewünschte Feld in einer Instanz einer anderen Bean gesetzt wird. Beide Klassen sollten Beans sein, d. H. Sie sollten so definiert sein, dass sie im Anwendungskontext liegen.
Versuchen Sie es.
%Vor%Klasse NiceWriter.java
%Vor%Eine andere Klasse
%Vor%Tags und Links java spring spring-mvc