千家信息网

SpringBoot如何使用面向切面编程AOP以及execution表达式的介绍

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,SpringBoot如何使用面向切面编程AOP以及execution表达式的介绍,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们使用最
千家信息网最后更新 2025年11月07日SpringBoot如何使用面向切面编程AOP以及execution表达式的介绍

SpringBoot如何使用面向切面编程AOP以及execution表达式的介绍,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

我们使用最多的就是execution表示了,下面就从execution表达式开始介绍吧。

execution(modifiers-pattern? ret-type-pattern declaring-type-pattern?name-pattern(param-pattern)throws-pattern?)

execution匹配的就是连接点(Joinpoint),看上面的表达式execution是固定的,方法的修饰符是可选的,返回类型是必须的,定义的全限类型也是可选的,名称是必须的,参数是必须的,这些都可以使用通配符。

任何的public方法

execution(public * *(..))

以set开始的方法

execution(* set*(..))

定义在cn.freemethod.business.pack.Say接口中的方法

execution(* cn.freemethod.business.pack.Say.*(..))

任何cn.freemethod.business包中的方法

execution(* cn.freemethod.business.*.*(..))

任何定义在com.xyz.service包或者其子包中的方法

execution(* cn.freemethod.business..*.*(..))

任何在com.xyz.service包中的方法

within(com.xyz.service.*)

任何定义在com.xyz.service包或者其子包中的方法

within(com.xyz.service..*)

任何实现了com.xyz.service.AccountService接口中的方法

this(com.xyz.service.AccountService)

任何目标对象实现了com.xyz.service.AccountService的方法

target(com.xyz.service.AccountService)

一般情况下代理类(Proxy)和目标类(Target)都实现了相同的接口,所以上面的2个基本是等效的。

有且只有一个Serializable参数的方法

args(java.io.Serializable)

只要这个参数实现了java.io.Serializable接口就可以,不管是java.io.Serializable还是Integer,还是String都可以。

目标(target)使用了@Transactional注解的方法

@target(org.springframework.transaction.annotation.Transactional)

目标类(target)如果有Transactional注解中的所有方法

@within(org.springframework.transaction.annotation.Transactional)

任何方法有Transactional注解的方法

@annotation(org.springframework.transaction.annotation.Transactional)

有且仅有一个参数并且参数上类型上有Transactional注解

@args(org.springframework.transaction.annotation.Transactional)

注意是参数类型上有Transactional注解,而不是方法的参数上有注解。

bean的名字为tradeService中的方法

bean(simpleSay)

bean名字为simpleSay中的所有方法。

bean名字能匹配

bean(*Impl)

bean名字匹配*Impl的bean中的所有方法。

看完上述内容,你们掌握SpringBoot如何使用面向切面编程AOP以及execution表达式的介绍的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

方法 参数 注解 表达式 名字 接口 目标 类型 切面 编程 内容 就是 更多 还是 问题 面的 相同 束手无策 为此 原因 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 100台服务器带宽多少 网网络安全黑板报 信息网络安全整改报告 杭州师范大学网络安全专业怎么样 计算机三级网络技术值得考吗 数据库中表怎么设置两个外键 密码学与网络安全研讨 海淀区专业网络技术常见问题 余姚一站式软件开发公司 华为网络安全实验室搭建 主要软件开发商介绍 国家玉米种子数据库中心大棒68 hadoop数据库产品 国家网络安全周北海 网络安全法治政府建设 重庆网络时间同步服务器云服务器 河北外国语学院网络技术专业 福州众点网络技术开发有限公司 CISA与网络安全隐私 计算机的网络安全有哪些 嘎振网络技术有限公司 金融软件开发失败案例 数据库中分组的理解 蓝阔打印服务器隔空打印 学校网络安全隐患案例 数据库中check是什么 网络技术的对联 吴江区正规软件开发品质保障 c for循环添加数据库 公众号域名服务器ip查询
0