SpringIOC
1.定義:
IOC,控制反轉,Spring的核心,在傳統應用程式中我們獲取一個類需要去new它,而用了IOC之后,IOC幫我們
創建和查找依賴物件,我們只需要被動的去接收就行,
2.SpringIOC加載程序:
xml組態檔或者注解配置通過ApplicationContext進行讀取(BeanDefinitionReader)、掃描(BeanDefinitionScanner)
、注冊(BeanDefinitionRegisty)最終形成一個個BeanDefinition,還可以通過一些后置處理器BeanDefinitionPostProcessor
來修改,最后將BeanDefiniton存進一個Map中,然后通過BeanFactory生產,如下流程圖:

3.Bean的生命周期
Bean的生命周期主要有以下幾個環節:
- 實體化Bean(反射)
- 設定屬性(@Value、@Autowired)
- 初始化initMethod方法、銷毀destory方法
主要是以上的幾個環節,不過在呼叫初始化方法是還可能會呼叫一堆aware介面,如BeanNameAware、BeanClassLoaderAware、BeanFactoryAware等等,也可能會在以上沒個環節的前后呼叫后置處理器(PostProcessor)加入一寫東西,

4.BeanFactory與ApplicationContext區別與相同點:
1. BeanFactory與ApplicationContext都能生產Bean,ApplicationContext繼承BeanFactory介面;
2. BeanFactory就像一個生產機器一樣只生產Bean;
3. ApplicationContext能通過讀取xml組態檔或者注解配置,注冊其中的bean并且能配置bean的一些屬
性如@Lazy、@Scope,再讓BeanFactor生產;
4. ApplicationContext還有國際化(MessageSource)、訪問資源,如URL和檔案(ResourceLoader)、
訊息發送、aop等,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/243304.html
標籤:java
上一篇:哈夫曼樹
