場景: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...