Aop 二 基本用法

2021-09-23 23:04:43 字數 2768 閱讀 1654

1 使用aop解決日誌處理問題:

aop的配置有兩種:

註解方式 和 xml方式

註解方式解決日誌處理問題:

步驟:1 jar包座標的引入:

2 beans.xml 配置

新增命名空間

配置aop**

編寫**:

package com.sun.aop;

import org.aspectj.lang.proceedingjoinpoint;

import org.aspectj.lang.annotation.after;

import org.aspectj.lang.annotation.afterreturning;

import org.aspectj.lang.annotation.afterthrowing;

import org.aspectj.lang.annotation.around;

import org.aspectj.lang.annotation.aspect;

import org.aspectj.lang.annotation.before;

import org.aspectj.lang.annotation.pointcut;

import org.springframework.stereotype.component;

@component

/** 宣告切面元件 */

@aspect

public class logcut

/** 宣告前置通知 並將通知應用到定義的切入點上 * 目標淚方法執行前 執行該通知 */

@before(value="cut()")

public void before()

/**宣告返回通知 並將通知應用到切入點上 * 目標類方法執行完畢執行該通知 */

@afterreturning(value="cut()")

public void afterreturning()

/**宣告最終通知 並將通知應用到切入點上 * 目標類方法執行過程中是否發生異常 均會執行該通知 相當於異常中的 finally */

@after(value="cut()")

public void after()

/** * 宣告異常通知 並將通知應用到切入點上 * 目標類方法執行時發生異常 執行該通知 */

@afterthrowing(value="cut()",throwing="e")

public void afterthrowing(exception e)

/** * 宣告環繞通知 並將通知應用到切入點上 * 方法執行前後 通過環繞通知定義相應處理 */

@around(value="cut()")

public object around(proceedingjoinpoint pjp) throws throwable

}所有的註解中 "value="均可省略 直接寫成這樣 @around("cut()")

aop 匹配方法規則表示式語言aop 切入點表示式簡介

執行任意公共方法:

執行 com.xyz.service 包下任意類的任意方法

執行 com.xyz.service 包 以及子包下任意類的任意方法

xml配置:

定義bean

package com.sun.aop;

import org.aspectj.lang.proceedingjoinpoint;

import org.aspectj.lang.annotation.*;

import org.springframework.stereotype.component;

/** * created by 陳明 on 2019/5/29.

*/@aspect //切面類

@component

public class logcut ;

@before("cut()")

public void before()

@after("cut()")

public void after()

@afterthrowing(pointcut = "cut()",throwing = "e")

public void afterthrowing (exception e)

@around("cut()")

//在執行切入的過程中 就執行了(pjp 可以獲取正在執行的是哪個方法 哪個類 只有pjp可以獲取到)

public object around(proceedingjoinpoint pjp) throws throwable

@afterreturning("cut()")

public void afterreturning()

}

二 基本用法

1 css語法 選擇器style head 2 css應用方式 也稱為css引用方式,有三種方式 內部樣式 行內樣式 外部樣式 2.1 內部樣式 2.2 行內樣式 2.3 外部樣式 使用單獨的css檔案定義,然後在頁面中使用 link標籤 或 import指令 引入 rel stylesheet t...

CSS基本用法 二

css3是對css2的擴充,刪減,優化 選擇器 功能e first child 匹配第乙個孩子 e last child 匹配最後乙個孩子 e nth child n 匹配第n個孩子 e nth child 2n 或e nth child even 匹配偶數的孩子 e nth child 2n 1 ...

Git基本用法(二)

比較提交 git diff 比較提交只能在未提交前檢視修改了那些內容 使用git diff命令檢視 比較修改了那些檔案 gitdiff 如果檔案有新建的,還沒有提交到緩衝區,先提交到緩衝區在使用git diff cached檢視 gitdiff cached 當檔案通過git commit提交到倉庫...