1. 程式人生 > >Spring學習——IOC和AOP的理解

Spring學習——IOC和AOP的理解

IOC容器:

  1. 控制反轉:將應用中的物件全部交由Spring的Bean工廠進行生成、裝配與生命週期的管理;負責JavaBean的例項化,依賴關係的裝配及高效的生命週期管理。
  2. 依賴注入:是指程式在執行期,由外部容器動態地將依賴物件注入到元件中。

應用本身不再負責依賴物件的建立和維護,依賴物件的建立及維護交由外部容器負責。

AOP:面向切面程式設計

將業務邏輯中到處重複出現的一些諸如:日誌輸出、事務控制及許可權控制等程式碼全部抽取出來,具體執行時,再由Spring的AOP模組自動完成重組,使業務邏輯程式碼與共有功能程式碼完美複合。
AOP技術是建立在java語言的反射機制與動態代理機制之上。呼叫者直接呼叫的其實是aop模組動態生成的代理物件,再由代理物件呼叫目標物件完成原始的業務邏輯處理,而代理物件則已經將切面與業務邏輯方法進行了合成。
AOP關鍵詞:
1. 切面Aspect:共有的功能
2. 通知Advice:切面的具體實現
3. 連線點Joinpoint:程式在執行過程中能夠插入切面的地點
4. 切入點Pointcut:用於定義通知應該切入到哪些連線點上
5. 目標物件Target:即將切入切面的物件,也就是被通知的物件
6. 代理物件Proxy: 將通知應用到目標物件之後被動態建立的物件。代理物件的功能等於目標物件的核心業務邏輯功能加上共有的功能
7. 織入Weaving:將切面應用到目標物件從而建立一個新的代理物件的過程。