Überprüfung der Frühlingsabhängigkeit mit @Required Annotation

Überprüfung der Frühlingsabhängigkeit mit @Required Annotation

Diedependency checking von Spring in der Bean-Konfigurationsdatei werden verwendet, um sicherzustellen, dass alle Eigenschaften eines bestimmten Typs (Grundelement, Sammlung oder Objekt) festgelegt wurden. In den meisten Szenarien müssen Sie lediglich sicherstellen, dass eine bestimmte Eigenschaft festgelegt wurde, jedoch nicht alle Eigenschaften.

In diesem Fall benötigen Sie die Annotation@Required, siehe folgendes Beispiel:

@ Erforderliches Beispiel

Wenden Sie als Kundenobjekt die Methode @Required in setPerson () an, um sicherzustellen, dass die Eigenschaft person festgelegt wurde.

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;
    }
}

Wenden Sie einfach die Annotation @Required an, um die Eigenschaftsprüfung nicht zu erzwingen. Sie müssen außerdem einRequiredAnnotationBeanPostProcessor registrieren, um die Annotation @Required in der Bean-Konfigurationsdatei zu kennen.

Der RequiredAnnotationBeanPostProcessor kann auf zwei Arten aktiviert werden.

1. Schließen Sie ein

Fügen Sie den Spring-Kontext und in die Bean-Konfigurationsdatei ein.


    ...
    
    ...

Vollständiges Beispiel



    

    
        
        
    

    
        
        
        
    

2. Include RequiredAnnotationBeanPostProcessor

Fügen Sie "RequiredAnnotationBeanPostProcessor" direkt in die Bean-Konfigurationsdatei ein.





    
        
        
    

    
        
        
        
    

Wenn Sie es ausführen, wird die folgende Fehlermeldung ausgegeben, da die Eigenschaft person nicht festgelegt ist.

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

Fazit

Versuchen Sie @Required Annotation. Es ist flexibler als die Abhängigkeitsprüfung in XML-Dateien, da es nur für eine bestimmte Eigenschaft gelten kann.

Custom @Required
Bitte lesen Sie diesen Artikel überhow to create a new custom @Required-style annotation.