2009-11-02 31 views

回答

14

所不同的是,如果這就是你所說的那樣,如果這樣做其他有用的東西,驗證等。通常你比較,這是有用的制定者將被稱爲:

public class A { 
    private B instanceB; 

    @Autowired 
    public setInstanceB(B instanceB) { 
    this.instanceB = instanceB; 
    } 
} 

VS

public class A { 
    @Autowired 
    private B instanceB; 
} 

(即沒有setter)。

在這種情況下,第一種方法更可取,因爲缺少setter會導致嘲笑/單元測試更加困難。即使你有一個setter,但是autowire數據成員,如果setter做了一些不同的事情,你可能會產生一個問題。這會使您的單元測試失效。

相關問題