aspect 切面

package com.yr.aspect;

import org.aspectj.lang.JoinPoint;
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;
@Aspect
@Component
public class MyAspect {
@Pointcut(“execution(* com.yr.server.impl..(…))”)
public void doPointCut(){}

@Before("doPointCut()")
public void bofore(){
	System.out.println("前置通知");
}


@After("doPointCut()")
public void after(){
	System.out.println("最终通知");
}


@AfterReturning(value="doPointCut()",returning="returnVal")
public void afterReturn(Object returnVal){
	//System.out.println(returnVal);
	System.out.println("后置通知");
}


@Around("doPointCut()")
public Object round(ProceedingJoinPoint jp) throws Throwable{
	System.out.println("环绕通知前");
	
	Object obj= jp.proceed();
	System.out.println("环绕通知之后");
	return obj;
}


@AfterThrowing(value="doPointCut()",throwing="e")
public void expection(JoinPoint jp,Throwable e){
	System.out.println(jp.getSignature().getName());
	System.out.println("异常通知");
}

}

注意:在application.xml文件中配置<aop:aspectj-autoproxy/>
	捕获的是server层的异常 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值