| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Spring-AOP @Aspect切点函数executionwithinthistargetargsbean@within@target@args@annotation的解析 -> 正文阅读 |
|
[Java知识库]Spring-AOP @Aspect切点函数executionwithinthistargetargsbean@within@target@args@annotation的解析 |
在讲解切点函数(亦称切入点表达式)时,我们首先得明确切点函数是用来干嘛用的。 切点函数: 切点函数解析: execution的作用(万能配置) execution([方法的访问控制修饰符] 方法的返回值 包名.类名/接口名.方法名(参数)) 注意:方法的访问控制修饰符可以省略,写方法名的时候要把包名和类名全部带上,但是访问修饰符,方法的返回值,包名,类名,方法名,参数均可以用正则表达式的通配符去匹配 execution使用案例:
附有切入函数的通知(此处采用前置通知示例)
测试方法:
测试结果:
(2).within:用于匹配指定类型和指定注解类型的目标方法 within(“aop.service.UserServiceImpl”)指定当前包中这个类内部的所有方法。 (3)中的this与(4)中的taget对比记忆 (4).target:指定对象类型匹配。注意:弥补了this匹配的缺口,无论实现的接口中的方法有没有被重写,均可以匹配 (5)中的args与(6)中的execution对比记忆 (6)中的@within与(7)中的@target对比记忆 (7).@target:用于匹配持有指定注解类型的目标方法。 (8).@annotation:用于匹配当前执行方法持有指定注解的方法 @annotaion 表达式应用于方法级别,实现细粒度的切入点表达式定义,案例分析 @annotation(anno.RequiredLog) 匹配有此注解描述的方法。 (9).@bean用于匹配指定bean对象的所有的方法 bean(“userServiceImpl”)指定一个 userServiceImpl 类中所有方法。 3.3 切面优先级设置实现 说明:当多个切面作用于同一个目标对象方法时,这些切面会构建成一个切面链,类似过 后续补全测试代码。。。。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 16:38:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |