基于xml的AOP开发
【摘要】 目录基于xml的AOP开发 XML配置AOP详解切点表达式的写法通知/(增强)的类型 前后置增强 环绕增强 异常抛出增强 最终增强 切点表达式的抽取 知识要点基于xml的AOP开发①导入AOP相关坐标②创建目标接口和目标类(内部有切点)③创建切面类(内部有增强方法)④将目标类和切面类的对象创建权交给spring⑤在applicationContext.xml中配置织入关系⑥测试代码 1...
目录
基于xml的AOP开发
①导入AOP相关坐标
②创建目标接口和目标类(内部有切点)
③创建切面类(内部有增强方法)
④将目标类和切面类的对象创建权交给spring
⑤在applicationContext.xml中配置织入关系
⑥测试代码
1、导入坐标
spring-context本身有aop的实现,但是aspectj更好,aspectj本身就是一个小框架。
MyAspect切面类(有增强方法)
applicationContext.xml下
AopTest测试类下
运行之后报错了
仔细一看需要Junit4.12以上的版本,改完之后,
XML配置AOP详解
切点表达式的写法
表达式语法:
- 访问修饰符可以省略
- 返回值类型、包名、类名、方法名可以使用星号*代表任意
- 包名与类名之间一个点.代表当前包下的类,两个点..表示当前包及其子包下的类
- 参数列表可以使用两个点..表示任意个数,任意类型的参数列表
例如
通知/(增强)的类型
通知的配置语法:
前后置增强
写下前后置增强
运行之后
环绕增强
切面类中的方法
applicationContext.xml下
运行结果
异常抛出增强
切面类下
目标类中需要手动加一个异常
applicationContext.xml中
最终增强
最终增强即为无论抛不抛出异常,这个方法都会被执行
运行结果
切点表达式的抽取
当多个增强的切点表达式相同时,可以将切点表达式进行抽取,在增强中使用pointcut-ref属性代替pointcut属性来引用抽取后的切点表达式。
applicationContext.xml中
运行结果
知识要点
aop织入
通知的类型:前置通知、后置通知、环绕通知、异常抛出通知、最终通知
点表达式的写法
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)