spring--day02笔记

发布时间 : 星期一 文章spring--day02笔记更新完毕开始阅读

1.6.4 通知演示

1.6.4.1 目标类

public interface CategoryService { public void addCategory(); public String updateCategory(); } public class CategoryServiceImpl implements CategoryService { @Override public void addCategory() { System.out.println(\); // } @Override public String updateCategory() { System.out.println(\); //int i = 1 / 0; return \就是屌\; } } 1.6.4.2 切面类

import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; /** * 切面类,包含多个通知 */ public class MyAspect{ public void myBefore(JoinPoint joinPoint){ // 第一个参数类型必须是:org.aspectj.lang.JoinPoint ,或子类 // * JoinPoint 可以获得执行详细数据。例如:目标方法名称等 System.out.println(\前置通知\ + joinPoint.getSignature().getName()); } public void myAfterReturning(JoinPoint joinPoint,Object val){ System.out.println(\后置通知\ + val); } //方法有要求:返回值Object,参数类型 ProceedingJoinPoint,抛出异常 Throwable public Object myAround(ProceedingJoinPoint joinPoint) throws Throwable{ System.out.println(\环绕前\); //执行目标类 Object obj = joinPoint.proceed(); System.out.println(\环绕后\); return obj; } public void myAfterThrowing(JoinPoint joinPoint , Throwable e){ System.out.println(\抛出异常通知\ + e.getMessage()); } public void myAfter(){ System.out.println(\最终\); } }

1.6.4.3 xml配置

联系合同范文客服:xxxxx#qq.com(#替换为@)