定義:面向切面(方面)程式設計,利用aop可以對業務邏輯的各個部分進行隔離,從而使得其之間耦合度降低,提高程式可重用性,同時提高了開發效率。
通俗描述:不修改源**方式,在主幹功能裡新增新的功能。
aop的底層原理使用的是動態**。
兩種情況
無介面的情況:使用cglib動態**
三個引數第1步 建立介面,定義方法
第2步 建立介面實現類,實現方法
第3步 使用proxy類建立介面的**物件
定義:類中可以被增強的方法
定義:類中實際被增強的方法
定義:
實際被增強(通知)的邏輯**
型別:
定義:
描述動作,把增強(通知)應用到切入點的過程
Spring5之動態AOP使用案例
在實際工作中,此bean可能是滿足業務需要的核心邏輯,例如test方法可能會封裝著某個核心業務。但是,如果完美想在test前後加入日誌來跟蹤除錯。如果直接修改原始碼並不符合物件導向的設計方法,而且隨著改動原有 也有一定的風險,還好接下來的spring幫我們做到了這一點。package com.tes...
Spring5常用註解
用於建立物件的註解 component 用於建立物件,相當於xml檔案中配置的乙個bean 屬性只有乙個value,用來指定id,預設是當前類的類名,首字母小寫。下面三個註解是 component的衍生註解,作用和屬性相同,只不過提供了更加詳細的語義化。controller 一般用於表現層的註解 s...
手撕Spring5框架(九)事務管理
事務是資料庫操作最基本單元,邏輯上的一組操作,要麼都成功,如果有乙個失敗所有操作都失敗。原子性 不可分割,要麼成功,要麼都失敗。一致性 操作之前和操作之後的總量是不變得。隔離性 多事務間不影響。永續性 事務提交後,表中資料發生持久變化。典型場景 銀行轉賬 場景描述 小明去銀行轉賬給小紅100元,小明...