spring學習(一)IOC&AOP
阿新 • • 發佈:2020-12-20
IOC
Spring IOC 解決的是物件管理和物件依賴的問題。本來我們的物件都是new
出來的,而我們如果使用Spring
則把物件交給「IOC容器」來管理
理論上,我們可以把「IOC容器」也當做是一個「工廠」,使用IOC的好處就是:
-
將物件集中統一管理,便於修改
-
降低耦合度(呼叫方無需自己組裝,也無需關心物件的實現,直接從「IOC容器」取就好了)
Spring提供了四種方式把物件交給「IOC容器管理」:
-
註解
-
XML
-
JavaConfig
-
基於Groovy DSL配置
總的來說:我們以XML配置+註解來裝配Bean比較多,其中註解這種方式佔大部分。
把物件放到「IOC容器」了以後,物件與物件之間是有關係的,我們需要把物件之間的依賴告訴Spring,讓它來幫我們解決掉物件的依賴關係。
「物件之間的關係」很多時候就是A物件裡邊有B物件的屬性。
各種方式來對Bean的定義和注入:
IOC優點:
-
不用自己組裝,拿來就用。
-
享受單例的好處,效率高,不浪費空間。
-
便於單元測試,方便切換mock元件。
-
便於進行AOP操作,對於使用者是透明的。
-
統一配置,便於修改
AOP
Spring AOP 解決的是 非業務程式碼抽取的問題。