Vérification de la dépendance de printemps avec @Required Annotation

Vérification des dépendances au printemps avec @Required Annotation

Lesdependency checking de Spring dans le fichier de configuration du bean sont utilisés pour s'assurer que toutes les propriétés d'un certain type (primitive, collection ou objet) ont été définies. Dans la plupart des scénarios, vous devez simplement vous assurer qu'une propriété particulière a été définie, mais pas toutes les propriétés.

Dans ce cas, vous avez besoin de l'annotation@Required, voir l'exemple suivant:

@Exemple requis

Un objet Customer, appliquez @Required dans la méthode setPerson () pour vous assurer que la propriété person a été définie.

package com.example.common;

import org.springframework.beans.factory.annotation.Required;

public class Customer
{
    private Person person;
    private int type;
    private String action;

    public Person getPerson() {
        return person;
    }
    @Required
    public void setPerson(Person person) {
        this.person = person;
    }
}

Le simple fait d'appliquer l'annotation @Required n'appliquera pas la vérification des propriétés, vous devez également enregistrer unRequiredAnnotationBeanPostProcessor pour connaître l'annotation @Required dans le fichier de configuration du bean.

Le RequiredAnnotationBeanPostProcessor peut être activé de deux manières.

1. Inclure

Ajoutez le contexte Spring et dans le fichier de configuration du bean.


    ...
    
    ...

Exemple complet,



    

    
        
        
    

    
        
        
        
    

2. Inclure RequiredAnnotationBeanPostProcessor

Incluez ‘RequiredAnnotationBeanPostProcessor’ directement dans le fichier de configuration du bean.





    
        
        
    

    
        
        
        
    

Si vous l'exécutez, le message d'erreur suivant sera renvoyé, car la propriété person n'est pas définie.

org.springframework.beans.factory.BeanInitializationException:
    Property 'person' is required for bean 'CustomerBean'

Conclusion

Essayez l'annotation @Required, elle est plus flexible que la vérification des dépendances dans un fichier XML, car elle ne peut s'appliquer qu'à une propriété particulière.

Custom @Required
Veuillez lire cet article surhow to create a new custom @Required-style annotation.