câblage automatique par type de ressort

Câblage automatique du ressort par type

Dans Spring, «Autowiring by Type» signifie que si le type de données d'un bean est compatible avec le type de données d'une autre propriété de bean, le câble automatiquement.

Par exemple, un bean «personne» expose une propriété avec un type de données de classe «capacité», Spring trouvera le bean avec le même type de données de classe «capacité» et le câblera automatiquement. Et si aucune correspondance n'est trouvée, ne faites rien.

Vous pouvez activer cette fonctionnalité viaautowire="byType" comme ci-dessous:

    
    

    
        
    

Voir un exemple complet de câblage automatique Spring par type.

1. Des haricots

Deux haricots, personne et capacité.

package com.example.common;

public class Person
{
    private Ability ability;
    //...
}
package com.example.common;

public class Ability
{
    private String skill;
    //...
}

2. Câblage de printemps

Normalement, vous câblez explicitement le bean:

    
        
    

    
        
    

Sortie

Person [ability=Ability [skill=Invisible]]

Avecautowire by type enabled, vous pouvez laisser la propriété de capacité non définie. Spring trouvera le même type de données et le câblera automatiquement.

    

    
        
    

Sortie

Person [ability=Ability [skill=Invisible]]

Attendez, et si vous avez deux beans avec le même type de données de «capacité» de classe?

    

    
        
    

    
        
    

Sortie

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]

Dans ce cas, vous obtiendrez le message d'erreurUnsatisfiedDependencyException.

Note
En mode autowiring par type, il suffit de s'assurer qu'un seul type de données de bean est déclaré.

Télécharger le code source

Téléchargez-le -Spring-AutoWiring-by-Type-Example.zip (6 Ko)