2013-10-05 38 views
1

我是新來的春天和閱讀在線春參考。使用構造函數注入(CI)的優點之一是因爲CI是不可變的,我知道這意味着它不能被修改。但是,這是怎麼發生的,請舉例說明CI如何促進不變性?感謝春季施工注射如何促進不變性?

+0

傳遞您的初始值到構造允許與這些初始值來構造的對象。然後,你只用getter寫對象,不要設置setter(因爲你已經通過構造函數設置了狀態,不需要setter)。 –

回答

0

這是一個不可變豆,感謝到CI

class B1 { 
    private final int x; 

    B1(int x) { 
     this.x = x; 
    } 
} 

的context.xml

<bean id="b1" class="test.B1"> 
    <constructor-arg value="1"/> 
</bean> 
+0

好,非常感謝,因爲我們不能在setter注入中使用final屬性,所以我們可以將它與CI一起使用,所以當我們需要object是不可變的時候,CI就是注入。 – user1999453