Spring入門知識 ———— 初步認識Spring的AOP
一、引言
IOC小編就花了13個章節整體的講了一下,中間可能某些知識點會遺漏,請小夥伴請諒解一下。
今天學習Spring另外一個核心:面向切面程式設計(AOP)
AOP內容不多,大概就幾章就搞定了。
對了對了,小編最近特價秒殺了一本書,分享給你們一段話。
追逐夢想的路上,華麗的跌倒,總勝過無所謂的徘徊。
你應該始終相信努力的意義。
因為未來的那個你,一定會感謝現在拼命努力的自己。
二、AOP是什麼
AOP底層實現原理:JAVA動態代理
AOP面向切面程式設計,是一種新的方法論,是對傳統OOP(面向物件程式設計)的補充。
AOP的主要程式設計物件是切面(Aspect)。PS:你們可以理解為,有一個類叫TestAspect,用註解的形式標識這個類是切面(Aspect),然後在這個類裡面進行程式設計,寫程式碼,這樣理解了吧~~
在應用AOP程式設計時,還是需要定義公共的方法,但是可以明確指定這個功能以什麼方式應用,並且不必修改受影響的類,這樣以來橫切關注點就被模組化到特殊的物件裡面了。PS:定義好一個方法,然後我們可以指定這個方法,應用到具體某一個類某一個方法上。
這樣使用AOP的好處是什麼?
每個事物邏輯位於一個位置,程式碼不分散,便於維護和升級。業務模組更加簡潔,只包含核心業務程式碼。
三、關於AOP術語(重點)
在這裡也說下關於AOP的專業術語,別面試的時候聽不懂。
切面(Aspect):橫切的關注點,被模組化的特殊物件。
通知(Advuce):切面必須完成的工作。
目標(Target):被通知的物件。
代理(Proxy):向目標物件應用通知之後建立的物件。
連線點(Joinpoint):程式執行的某個特定位置,如類某一個方法呼叫前、呼叫後、方法丟擲異常等。
切點(Pointcut):每個類都擁有多個連線點,AOP通過切點定位到特定的連線點。比如連線點相當於資料庫中的記錄,切點相當於查詢的條件。
小編知道,很多小夥伴,看完了對AOP還是一頭霧水,沒關係,跟著小編往下看。