Bean的作用域
Bean的作用域不是singleton,容器中只有一個(gè)實(shí)例,那么如果在BeanImplOne和BeanImplTwo里個(gè)有一個(gè)BeanInterfarce的對象。那么在BeanImplOne中,對它的BeanInterfac中的屬性做更改,在BeanImplTwo里的BeanInterface實(shí)例相應(yīng)屬性的值也是會(huì)更改的么?
還是不會(huì)改變? 不會(huì)改變是什么原因,這是容器里一個(gè)Bean的實(shí)例的不同拷貝么?
2015-10-02
變還是不變得看對應(yīng)的那個(gè)對象的Scope。估計(jì)你是對scope有點(diǎn)疑惑,spring中每個(gè)scope類都實(shí)現(xiàn)了org.springframework.beans.factory.config.Scope接口,然后注冊到org.springframework.beans.factory.config.CustomScopeConfigurer中。每次獲取bean的時(shí)候底層都是訪問Scope來獲取的,你也可以定義自己的Scope。比如
然后注冊:
這樣就OK了,這個(gè)Scope就是每個(gè)線程的bean都是同一個(gè)