2017-03-04 15 views
0

私は別のシナリオでautowireのアノテーションを使用するために疑いを持っている...使用方法Autowired注釈

public Class A { 
    @Autowired 
    public B b; 

    public void print() { 
    System.out.println("the value is " + b.getValue()); 
    } 

} 

例2:

public Class A { 
    public B b; 

    @Autowired 
    Public A(B b){} 

    public void print() { 
    System.out.println("the value is " + b.getValue()); 
    } 
} 
+0

ありがとうございます。これらの2つの使用例の違いは何ですか。 – pauljeyasingh

+1

あなたの質問はありますか?最初のものはフィールド注入を使用します。 2番目はコンストラクタインジェクションを使用します。ドキュメントをお読みください。また、あなたのコードのどれも有効なJavaコードではなく、インデントされています。送信ボタンを押す前に注意してください。 –

+1

http://coders-kitchen.com/2015/01/05/dependency-injection-field-vs-constructor-vs-method/これをお読みください。 –

答えて

0

第一の方法オブジェクトautowire にはと呼ばれ、フィールド注入であり、第2のものはコンストラクタ注入と呼ばれている。これらの2つのトピックについては、SOには多くの記事があります。例えば。 What exactly is Field Injection and how to avoid it? これはすべての質問に答える必要があります。

関連する問題