aop的概念: aspect oriented programming 面向切面的程式設計
優點 : 在不破壞程式原有架構的基礎上對程式注入新的邏輯
降低了程式耦合度
提高了程式的靈活性
實現方法 : jdk的proxy,cglib的生成二進位制檔案 繼承**物件方法等
實現方法的優缺點 (這裡只考慮以上兩種):
jdk自帶的方法是呼叫proxy類生成**物件,通過**物件呼叫目標物件的方法,並在前後加入自己的邏輯。 優點:實現簡單,靈活;缺點:生成**的物件必須實現invocationhandler介面,對沒有實現該介面的物件不能進行呼叫。
cglib方法通過生成目標的自類
,並呼叫目標類方法,在其前後加入邏輯實現,優點是不用實現invocationhandler介面,缺點:指定的類不能是final包括方法
spring的aop:結合使用了jdk與cglib兩種方法。spring的支援文件裡說到,他的aop並不是指望完成多麼強大的aop功能(似乎已經很強大了),其真正的目的在於結合他自身的ioc功能。
對Spring AOP機制的初步理解
有兩個service類 service public class myserviceaimpl implements myservicea service public class myservicebimpl implements myserviceb 假設有幾十個這樣的service類,類似一樣...
對Spring Aop的理解和應用場景
aop aspect orientedprogramming,面向切面程式設計 可以說是oop object oriented programing,物件導向程式設計 的補充和完善。oop引入封裝 繼承和多型性等概念來建立一種物件層次結構,用以模擬公共行為的乙個集合。當我們需要為分散的物件引入公共行...
spring aop的理解記錄
對aop的一些理解記錄。連線點 joinpoint 切入點 pointcut 通知 advice 和切面 aspect 假設乙個物件小明,小明這個物件有四個方法 吃喝拉耍。還有乙個物件是他的僕人。假設僕人要完成對小明行為的aop,那麼這個時候,站在僕人的角度 連線點就是小明擁有的四個方法 吃喝拉耍,...