Heim > Java > javaLernprogramm > Federrahmenlernen (4) automatische Montage

Federrahmenlernen (4) automatische Montage

黄舟
Freigeben: 2016-12-29 13:15:30
Original
1357 Leute haben es durchsucht

Set-Injection und Konstruktor-Injection sind bei der Konfiguration manchmal problematisch. Um die Entwicklungseffizienz zu verbessern, bietet das Framework daher automatische Montagefunktionen und vereinfacht die Konfiguration. Das Spring-Framework unterstützt standardmäßig keine automatische Assembly. Wenn Sie die automatische Assembly verwenden möchten, müssen Sie das Autowire-Attribut des -Tags in der Spring-Konfigurationsdatei ändern.
Das automatische Assembly-Attribut verfügt über 6 optionale Werte. jedes repräsentiert unterschiedliche Bedeutungen.

1, byName
Beim Abrufen des Zielobjekts aus der Spring-Umgebung suchen die Attribute im Zielobjekt basierend auf dem id-Attributwert des -Tags Name. Wenn es dasselbe gibt, holen Sie sich dieses Objekt und implementieren Sie die Zuordnung.
Die gesamte Spring-Umgebung: Bedeutet die Suche in allen Spring-Konfigurationsdateien, dann kann die ID nicht wiederholt werden.

2, byType
Beim Abrufen des Zielobjekts aus der Spring-Umgebung suchen die Attribute im Zielobjekt in der gesamten Spring-Umgebung nach dem Klassenattributwert des Typ. Wenn es dasselbe gibt, holen Sie sich dieses Objekt und implementieren Sie die Zuordnung.

Nachteil: Wenn mehrere Bean-Objekte desselben Typs vorhanden sind, tritt ein Fehler auf.
Wenn es sich bei dem Attribut um einen einzelnen Datentyp handelt, tritt ein Fehler auf, wenn mehrere verwandte Objekte gefunden werden.
Wenn das Attribut vom Typ Array oder Sammlung (generisch) ist, tritt keine Ausnahme auf, wenn mehrere verwandte Objekte gefunden werden.

3. Konstruktor
verwendet die Konstruktormethode, um die Objektinjektion abzuschließen. Tatsächlich führt er auch eine Objektsuche basierend auf dem Parametertyp der Konstruktormethode durch, was der Verwendung von byType entspricht.

4, automatische Erkennung
Automatische Auswahl: Wenn das Objekt keine parameterlose Konstruktionsmethode hat, wird automatisch die automatische Montagemethode des Konstrukteurs für die Konstruktionsinjektion ausgewählt. Wenn das Objekt einen Konstruktor ohne Parameter enthält, wird die automatische Assemblierungsmethode byType automatisch für die Setter-Injektion ausgewählt.
5, nein
unterstützt die automatische Assemblierungsfunktion nicht

6, Standard
bedeutet, dass standardmäßig der Wert der automatischen Assemblierung des Tags der oberen Ebene verwendet wird. Wenn mehrere Konfigurationsdateien vorhanden sind, ist die automatische Assemblierungsmethode jeder Konfigurationsdatei unabhängig.

Wenn mehrere Konfigurationsdateien vorhanden sind, können Sie die Konfigurationsdatei wie folgt laden:
1) Sie können die Gesamtkonfigurationsdatei so angeben, dass sie die Unterkonfigurationsdateien enthält, und dann nur die Gesamtkonfigurationsdatei laden . Verwenden Sie das Import-Tag in der Gesamtkonfigurationsdatei applicationContext.xml, um die Konfigurationsdatei in das Unterdateipaket zu laden
Code:



ApplicationContextac= newClassPathXmlApplicationContext("applicationContext.xml");
Nach dem Login kopieren

2) Verwenden Sie Sternchen, um mehrere Dateien zum Laden zuzuordnen, und die Dateinamen müssen den Regeln entsprechen. (Empfohlen)

3) Sie können Arrays als Parameter verwenden, um mehrere Konfigurationsdateien gleichzeitig zu laden
//配置文件的名称
applicationContext.xml
applicationContext-action.xml
applicationContext-service.xml
applicationContext-dao.xml
 
ApplicationContextac =newClassPathXmlApplicationContext("applicationContext*.xml");
Nach dem Login kopieren

String[]files={"applicationContext.xml","applicationContext-test.xml"};               
ApplicationContextac = newClassPathXmlApplicationContext(files);
Nach dem Login kopieren

Hinweis: Wenn die automatische Montagefunktion und die manuelle Montage gleichzeitig verwendet werden, funktioniert die automatische Montage nicht.

Das Obige ist der Inhalt der automatischen Assemblierung des Spring Framework Learning (4). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (m.sbmmt.com)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage