SpringAOP面向切面XML配置

1.命名空间引入

image.png

xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd"

2.切面配置


image.png

aop:pointcut expression定义被切的方法
被切方法..代表任意参数
id定义这个被切方法的id,已便后面切

ref定义用来切的类,method定义那个方法来切
方法定义
public void doBefore(JoinPoint jp){
System.out.println("类名:"+jp.getTarget().getClass().getName());
System.out.println("方法名:"+jp.getSignature().getName());
System.out.println("开始添加学生:"+jp.getArgs()[0]);
}

public void doAfter(JoinPoint jp){
    System.out.println("类名:"+jp.getTarget().getClass().getName());
    System.out.println("方法名:"+jp.getSignature().getName());
    System.out.println("学生添加完成:"+jp.getArgs()[0]);
}

public Object doAround(ProceedingJoinPoint pjp) throws Throwable{
    System.out.println("添加学生前");
    Object retVal=pjp.proceed();
    System.out.println(retVal);
    System.out.println("添加学生后");
    return retVal;
}

public void doAfterReturning(JoinPoint jp){
    System.out.println("返回通知");
}

public void doAfterThrowing(JoinPoint jp,Throwable ex){
    System.out.println("异常通知");
    System.out.println("异常信息:"+ex.getMessage());
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 当相同的切面里的两个增强处理需要在相同的连接点被织入时,Spring AOP将以随机的方式来织入这两个增强处理,没...
    FTOLsXD阅读 1,276评论 0 1
  • 定义AfterReturning增强处理: AfterReturning增强处理在目标方法正常完成之后织入。 类似...
    FTOLsXD阅读 1,134评论 0 2
  • Spring除了支持Schema方式配置AOP,还支持注解方式:使用@AspectJ风格的切面声明。 一.启用对@...
    zlb阅读 1,761评论 0 0
  • 现在忙着准备考研,很多事没时间做,先拉个清单,等12月底考完试了再落实.鉴于这种性质的琐碎事项放在微博文章上不太好...
    带土钦定六代目阅读 293评论 0 1
  • 《诗序》云:“情动于中,而形如言。言之不足,故嗟叹之”。我们偶尔写作文章,一不沽名,二不载道,不过是在读书之余,情...
    殷亮Neil阅读 869评论 1 50