@Requiredアノテーションを使用した春の依存性チェック

@Requiredアノテーションを使用したSpring依存関係チェック

Bean構成ファイル内のSpringのdependency checkingは、特定のタイプ(プリミティブ、コレクション、またはオブジェクト)のすべてのプロパティが設定されていることを確認するために使用されます。 ほとんどのシナリオでは、すべてのプロパティではなく、特定のプロパティが設定されていることを確認する必要があります。

この場合、@Requiredアノテーションが必要です。次の例を参照してください。

@必須の例

Customerオブジェクト。setPerson()メソッドで@Requiredを適用して、personプロパティが設定されていることを確認します。

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

@Requiredアノテーションを適用するだけでは、プロパティチェックは強制されません。また、Bean構成ファイルの@Requiredアノテーションを認識するためにRequiredAnnotationBeanPostProcessorを登録する必要があります。

RequiredAnnotationBeanPostProcessorは、2つの方法で有効にできます。

1. を含める

Bean構成ファイルにSpringコンテキストとを追加します。


    ...
    
    ...

完全な例、



    

    
        
        
    

    
        
        
        
    

2. RequiredAnnotationBeanPostProcessorを含める

Bean構成ファイルに「RequiredAnnotationBeanPostProcessor」を直接含めます。





    
        
        
    

    
        
        
        
    

実行すると、personプロパティが設定されていないため、次のエラーメッセージがスローされます。

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

結論

@Requiredアノテーションを試してください。特定のプロパティにのみ適用できるため、XMLファイルでの依存性チェックよりも柔軟です。

Custom @Required
how to create a new custom @Required-style annotationに関するこの記事をお読みください。