Spring中的AOP簡單使用

2021-10-24 04:00:24 字數 2687 閱讀 2025

目錄結構:

介面及實現類**:

public inte***ce adminservice 

public inte***ce customerservice

@service

public class adminserviceimpl implements adminservice

@override

public void am2()

@override

public void ah3()

}

@service

public class customerserviceimpl implements customerservice

@override

public void m2()

@override

public void h3()

}

增強類

@component

public class myadvice

}

spring配置檔案

<?xml version="1.0" encoding="utf-8"?>

//指定哪些方法需要被增強

測試類

}顯示結果:

目錄結構

使用myadvice1作為增強類

@component   //目的:是將此類註冊到spring容器中

@aspect //表示此類是乙個切面

public class myadvice1

}

在xml中開啟aop功能

<?xml version="1.0" encoding="utf-8"?>

測試**

}顯示結果:

上面的案例使用的是before的增強方式,對應還有:

表示前置增強

@before

@afterthrowing

當目標方法執行過程中,丟擲異常的時候會執行這裡的邏輯。 要想捕獲異常型別,可以使用exception型別的引數,同時使用throwing來繫結形參的名字。

@after 目標方法執行後(不論是否丟擲異常)

@afterreturning 目標方法成功執行(有了返回值)後。

【環繞:萬金油】

@around

增強類

@component

@aspect

public class myadvice1 catch (throwable throwable)

return null;}}

測試類

}顯示結果:

對於around環繞增強來說,引數型別必須是proceedingjoinpoint 型別。返回值型別必須是object型別。

*/@around(value = "execution(public * com.example..service.impl.*impl.*(..))")

public object m3(proceedingjoinpoint point)finally

system.out.println("是afterreturning的執行邏輯.....");

return result;

} catch (throwable throwable)

return null;

}

Spring的AOP簡單使用

強烈推薦乙個大神的人工智慧的教程 相關概念 1.連線點 joinpoint 類裡面哪些方法可以被增強,這些方法稱為連線點 2.切入點 在類裡可以有很多的方法被增強,實際增強的方法稱為切入點 3.通知 增強 增強的邏輯,稱為增強 4.切面 aspect 增強具體方法的過程稱為切面 把增強用到切入點的過...

Spring中AOP的使用

1.引入jar包 2.在測試類中新增註解 新增測試的註解的位置 runwith springjunit4classrunner.class public class aoptest 1在工程中引入spring基本jar包 2.引入aop開發的相關jar包 4.在核心配置檔案中加入約束 5.建立切面類...

Spring中 aop的 xml配置(簡單示例)

aop,即面向切面程式設計,面向切面程式設計的目標就是分離關注點。比如 小明 一位孩子 想吃蘋果,首先得要有蘋果,其次才能吃。那麼媽媽負責去買水果,孩子負責吃,這樣,既分離了關注點,也減低了 的複雜程度 孩子類 component public class child public class mo...