-
Spring提供了很好的AOP技術封裝,AOP被稱為面向分段程式設計,即系統中有很多不相關的類方法,應該在這眾多的方法中加入一些系統功能**,比如:新增日誌、許可權判斷、異常處理等,這個應用就變成了AOP。
AOP函式的實現是基於**技術,客戶端程式不再呼叫目標,而是呼叫**類,**類和目標類在外部有相同的方法宣告,實現相同的方法宣告有兩種方式,一種是實現相同的介面,但作為目標的子類在JDK中以代理類的方式生成動態**,為某個介面生成乙個實現類,如果要為某個類生成子類,可以使用 CGLIB。
將系統函式和目標類的對應方法呼叫到生成的 **類的方法中,系統函式的 ** 附帶了 advice 物件,顯然要建立 ** 物件,至少需要目標類和 advice 類。
Sping 提供了這種支援,只需要在 sping 配置檔案中配置這兩個元素來實現 ** 和 AOP 功能,例如:
-
Spring的主要內容有: IOC AOP事務管理 遠端呼叫 最重要的就是前三個。 你可以得到乙個小專案,當你熟悉它時,你就可以使用它。
Spring 的設計是為了促進設計的發展,它的另乙個方面是它對系統是非侵入性的。 Spring 相對容易上手,但需要一些時間才能掌握。 我建議你去看看《Spring in Action》一書。
-
面向部分程式設計(AOP)是關注程式執行的過程,該部分是將方法在執行前、執行中、執行後(可能更精細)切割成多個步驟,並針對這三個階段分別處理它們。 為了獲得邏輯過程各部分之間低耦合的隔離效果。
具體用例:
事務管理:我們在操作資料庫的時候,需要在操作前開啟事務,在操作後提交事務(或回滾事務),按照通常的編碼方式,我們會在每個方法前後新增一些事務操作的重複**,使每個類都與事務操作耦合; 有了AOP,它看起來像乙個直接操作的資料庫,我們有乙個機制,允許你在不知不覺中開啟和提交(或回滾)事務,這實際上是由Spring提供的。
還有類似場景的日誌。
-
什麼是DI(IOC)機制?
依賴注入和控制反轉是同乙個概念,具體來說就是:當乙個角色。
當需要另乙個角色來提供幫助時,在傳統的程式設計過程中,通常是呼叫方建立被呼叫方的例項。 但是在春天。
建立被呼叫方的工作不再由呼叫方完成,因此稱為控制反轉。 建立被呼叫方的工作由 Spring 完成,然後注入到呼叫方中。
因此,這也稱為依賴注入。
Spring 以動態和靈活的方式管理物件,有兩種注入方式,即設定注入和構造注入。
設定注射的優點:直觀、自然。
構造注入的優點:依賴關係的順序可以在建構函式中確定。
什麼是AOP?
面向部分程式設計(AOP)改進了Spring的依賴注入(DI),面向部分程式設計在Spring中主要表現為兩個方面。
切片程式設計的宣告式事務管理。
支援使用者定義的分面。
這不是必需的,因為 spring 的自動載入中有 default-autowire="byname"我相信你已經看到了這個屬性,它將spring的標頭檔案配置為: >>>More
貔貅。 它有吞噬四方財富的效果,頭應該在屋外,然後用尺子把四隻襪子吸進屋裡,頭不能轉進屋裡,否則截面太高了,會吸走房子後的錢。 它不會起到聚斂財富的作用。 更不可取的是把頭轉向自己。