Federdraht nach Typ
Im Frühjahr bedeutet "Autowiring by Type", wenn der Datentyp einer Bean mit dem Datentyp einer anderen Bean-Eigenschaft kompatibel ist, diese automatisch zu verkabeln.
Beispiel: Eine Bean "Person" macht eine Eigenschaft mit dem Datentyp "Fähigkeit" verfügbar. Spring findet die Bean mit dem gleichen Datentyp der Klasse "Fähigkeit" und verknüpft sie automatisch. Und wenn keine Übereinstimmung gefunden wird, nichts tun.
Sie können diese Funktion überautowire="byType"
wie folgt aktivieren:
Ein vollständiges Beispiel für die automatische Federverdrahtung nach Typ anzeigen.
1. Bohnen
Zwei Bohnen, Person und Können.
package com.example.common; public class Person { private Ability ability; //... }
package com.example.common; public class Ability { private String skill; //... }
2. Federverdrahtung
Normalerweise verdrahten Sie die Bohne explizit:
Ausgabe
Person [ability=Ability [skill=Invisible]]
Mitautowire by type enabled können Sie die Fähigkeitseigenschaft nicht festlegen. Spring findet den gleichen Datentyp und verdrahtet ihn automatisch.
Ausgabe
Person [ability=Ability [skill=Invisible]]
Warten Sie, was ist, wenn Sie zwei Beans mit demselben Datentyp der Klasse "Fähigkeit" haben?
Ausgabe
Exception in thread "main" org.springframework.beans.factory.UnsatisfiedDependencyException: ... No unique bean of type [com.example.common.Ability] is defined: expected single matching bean but found 2: [steal, invisible]; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.example.common.Ability] is defined: expected single matching bean but found 2: [steal, invisible]
In diesem Fall wird die FehlermeldungUnsatisfiedDependencyException
angezeigt.
Note
Beim automatischen Verdrahten nach Typmodus müssen Sie nur sicherstellen, dass nur ein eindeutiger Datentyp der Bean deklariert ist.
Quellcode herunterladen
Laden Sie es herunter -Spring-AutoWiring-by-Type-Example.zip (6 KB)