基於註解的AOP配置完整流程

2021-09-27 06:35:00 字數 1398 閱讀 8673

場景:mymathcaculator實現caculator介面 功能是計算器,現在要通過aop為該目標類target新增日誌資訊

@service

public

class

mymathcaculator

implements

caculator

@override

public

intsub

(int i,

int j)

@override

public

intmul

(int i,

int j)

@override

public

intdiv

(int i,

int j)

}

為target新增service註解 將該元件注入到容器中注:實現的介面類不用新增到容器

@component

@aspect

public

class

logutils

@before

("hahaha()"

)//在需要用的地方直接拷貝方法名

public

static

void

logstart

(joinpoint joinpoint)

@afterreturning

(value=

"execution(public int com.lzj..mymathcaculator.*(..))"

,returning =

"result"

)//要告訴spring result物件接收返回值

public

static

void

logreturn

(object result)

@after

("execution(public int com.lzj..mymathcaculator.*(..))"

)public

static

void

logend()

}

然後再把切面類logutils新增到容器中 注意幾個細節:

<

context:component-scan

base-package

="com.lzj"

>

context:component-scan

>

<

aop:aspectj-autoproxy

>

aop:aspectj-autoproxy

>

基於註解的AOP配置

before 前置通知 afterreturning 後置通知 after 最終通知 afterthrowing 異常通知 around 環繞通知 pointcut 指定切入點表示式 使用方法 pointcut execution cn.itcast.service.impl.private voi...

基於註解配置的AOP

首先在spring的xml檔案中完成相應的配置 在持久化類中加上註解,方便使用id呼叫 注意這裡設定了乙個異常 1 0的異常 日誌類的 如下 import org.aspectj.lang.annotation.import org.springframework.stereotype.compon...

Spring基於註解AOP配置

一 spring基於註解aop配置 1.假設建立乙個accountservice需要增強 執行其中每乙個方法都會加乙個記錄日誌的方法 則再建立乙個日誌類實現記錄日誌方法 將該類注入spring容器 component logger aspect 表示當前類是乙個切面類 public class lo...