1. 程式人生 > >Spring成神之路---基礎2

Spring成神之路---基礎2

1.Spring生命週期的回撥

1)類初始化時執行,即建立完例項物件後自動執行的方法,該方法的呼叫是在執行完構造方法後執行的,實現方
式有三種:
(1)實現InitalizingBean介面,重寫afterPropertiesSet()方法
(2)在xml檔案中配置,在bean標籤中新增init-method="方法名"屬性;
(3)在需要標記的方法上新增@PostConstruct註解。
對應的有銷燬之前執行的方法,自行查閱。

2.Spring的常用屬性詳解

1)在xml配置檔案的bean標籤中可以新增屬性depends-on=“其他bean的id”,主要作用是表明例項化順序,A的例項化發生在該bean之後.
2)在xml配置檔案中可以在bean標籤中新增lazy="true"屬性,表明該bean在呼叫過程中才會例項化物件。
3)在ComponentScan中配置excludeFilters或includeFilters屬性,可以指定移除或新增指定的類到spring容器中。
4)@Autowired是根據類的型別來進行匹配的,所以當同一個介面有多個實現類時,在類注入的時候會產生錯誤
,因此新增@Qualifier(“類在例項化所對應的名稱,即被@Service等標註的類的類名,首字母小寫”)用來指定
注入的具體實現類,
5)@bean的作用主要是根據方法返回的物件從而生成對應的bean並且注入到spring容器中。在@bean標註的方
法中有形參時,可以在該方法上新增@Autowired(spring5不需要在新增),使其實參自動注入到形參上
6)@primary的作用是當注入時指定為該註解標記的實現類,其他的實現類(實現相同介面)自動過濾掉,主要
是針對 型別注入 。
7) @profile多用於在測試環境或開發環境等使用不同的配置檔案而進行的設定,在spring初始化時可以指定需要
啟用的@profile檔案,當沒有指定啟用的檔案時,會預設使用被@profile(“default”)標註的類,該註解也適用
與方法,要與@Bean一起使用。

3.Spring的迴圈引用

當bean為單例時,spring內部為所有的bean都進行了例項化並放入到一個內部快取中,然後在進行相應的賦值操
作,因此當bean為單例時是支援迴圈引用的,當bean為prototype時,由於bean的例項化是在獲取bean的時候進
行,在呼叫時對應的其他bean物件還沒有生成,所以不支援迴圈引用