Die Hauptprobleme in diesem Artikel werden verwendet, um die Attributbaugruppe mithilfe von @Resource -Annotation zu implementieren, die Abhängigkeitsinjektion - Manuelle Montage, den Unterschied zwischen @autowired und @Resource -Annotationen usw. wie folgt beinhalten.
Verwenden Sie die Feldinjektion (für Annotationsmethoden): Die Injektion abhängiger Objekte kann manuell montiert oder manuell montiert werden. Die manuelle Baugruppe wird in praktischen Anwendungen empfohlen, da die automatische Montage unbekannte Situationen verursacht und Entwickler das Ergebnis der Endbaugruppe nicht vorhersehen können.
Abhängigkeitsinjektion - Manuelle Baugruppe
Es gibt zwei Programmiermethoden zum manuellen Zusammenbau abhängiger Objekte.
1. Konfigurieren Sie sie in der XML -Konfigurationsdatei über den Bean -Knoten, z. B.:
<bean id = "orderService"> // Konstruktorinjektion <constructor-arg index = "0" type = "java.lang.String" value = "xxx"/> // Eigenschaft Setzer-Methode Injektion <Eigenschaftsname = "Name" Value = "Zhao"/> </bean> </bean>
2. Verwenden Sie @Autowired oder @Resource Annotation, um sich in Java -Code zu montieren. Wir müssen jedoch die Informationen in der XML -Konfigurationsdatei konfigurieren
<beans xmlns = "http://www.springframework.org/schema/beans" xmlns = "http://www.w3.org/2001/xmlschema-instance XSI: Schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/context http://www.spingframework.org/schema/context/Spring/Spring/Spring/SPRING/SPRING/SPRING/SPRING/SPRING/SPRING/SPRING/SPRING/SPRING/SPRING-
Diese Konfiguration registriert implizit mehrere Prozessoren, die Kommentare analysieren:
Autoweged AnnotationBeanPostProcessor, CommonannotationBeanPostProcessor
PersistenCeannotationBeanProcessor, fordersAntationBeanPostProcessor
3. Differenz
Verwenden Sie @Autowired oder @Resource Annotation, um sich in Java -Code zu montieren. Der Unterschied zwischen diesen beiden Annotationen besteht darin, dass @Autowired standardmäßig standardmäßig nach dem Namen montiert wird. Nur wenn ein Bohnen, der mit dem Namen übereinstimmt, nicht gefunden werden kann, wird er nach Typ zusammengestellt
@AutowiredPrivate persondao persondao; // verwendet auf dem Feld @AutowiredPublic void setOrderDao (orderdao orderdao) {this.orderDao = orderdao; // verwendet auf der Settermethode der Eigenschaft}}Die @autowired Annotation besteht darin, abhängige Objekte nach Typ zusammenzustellen. Standardmäßig erfordert es, dass abhängige Objekte existieren müssen. Wenn Nullwerte zulässig sind, kann es auf false eingestellt werden. Wenn wir uns mit dem Namen versammeln wollen, können wir ihn in Verbindung mit @Qualfier Annotation wie folgt verwenden:
@Autowired@qualifier ("persondao") Private Persondao Persondao;Die @Resource -Annotation kann wie @autowired auf der Setter -Methode eines Feldes oder einer Eigenschaft kommentiert werden, wird jedoch standardmäßig mit Namen zusammengestellt. Der Name kann über das Namensattribut von @Resource angegeben werden. Wenn das Namensattribut nicht angegeben ist, wird der Name des Standardfelds als Bean -Name als Bean -Name verwendet, um nach dem Abhängigkeitsobjekt zu suchen. Wenn die Annotation auf der Eigenschafts -Setter -Methode gekennzeichnet ist, wird der Attributname als Bean -Name verwendet, um nach dem Abhängigkeitsobjekt zu suchen
@Resource (name = "persondaobean") Private PERONDAO PERDADAO;
HINWEIS: Wenn das Namensattribut nicht angegeben ist und das Objekt standardmäßig nicht gefunden wird, fällt die @Resource -Annotation nach Typ zurück. Sobald das Namensattribut angegeben ist, kann es nur mit Namen zusammengestellt werden.
Zusammenfassen
Das obige ist die detaillierte Erklärung der Implementierung des Attribut -Assembly -Code durch @Resource -Annotation. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf diese Seite verweisen:
" Detaillierte Erläuterung der Methode und des Code der Spring -Instantiation Bean "
" Instanzfabrikmethode von Spring und Beispiel für statische Fabrikmethode "
" Spring verwendet Code, um die Analyse von Eigenschaftendateiinstanzen zu lesen "
Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!