oop時,記錄日誌的方式是將需要記錄日誌的地方去呼叫記錄一下日誌。這樣導致了記錄日誌的呼叫遍布全專案。這怎麼辦呢,有什麼辦法能夠將他們統一起來呢。
首先要明確下思路,如何不讓整個專案到處都在呼叫記錄日誌呢,記錄日誌的方式就得是被動的形式,這樣子就能讓主體邏輯不用主動呼叫去記錄日誌,利用執行時生成**物件,還可以在編譯期、類載入期織入,比如aspectj。統一在乙個地方去整理記錄日誌。
這樣子通過在執行時或編譯期、類載入器等,對**主體進行攔截後進行操作的方式,對軟體主體的縱向邏輯進行橫向切割,就是aop。
AOP概念理解
aop 的全稱是 aspect oriented programming 在網上很多地方都將 aop翻譯成 面向方面程式設計 我覺得這樣的翻譯不利於對aop概念的理解,在中文中,如果 方面 前面沒有修飾詞,方面 是乙個沒有意義的詞語。面向方面程式設計 那這個 方面 是什麼?我覺得將aspect翻譯成...
AOP實踐 日誌記錄
aop實踐 自定義註解實現日誌記錄 專案環境springboot spring aop預設是使用aspectj的註解 1.引入jar包 org.springframework.boot spring boot starter aop 2.自定義註解 target retention retentio...
AOP問題記錄
問題 當切面切的方法是實現類裡的時候,方法呼叫時不進入切面 自呼叫不進入切面 原理 spring aop有2種 方式,一是基於 jdk dynamic proxy 技術而實現的 二是基於 cglib 技術而實現的 如果乙個類實現了某個介面 會預設使用jdk dynamic proxy 比如有2個方法...