千家信息网

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

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,SpringBoot如何使用面向切面编程AOP以及execution表达式的介绍,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们使用最
千家信息网最后更新 2025年01月17日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安全错误 数据库的锁怎样保障安全 电力网络安全红蓝队成效 神奇宝贝服务器刷 大学有电脑软件开发专业吗 今天中国电信开服务器了吗 我与国家网络安全班会 Tshock服务器管理员 常州盛景网络技术有限公司中标 软件开发市场规模分析 杭州游卡网络技术有限公司游戏 是数据库安全的第一大保障 江苏电子网络技术收费 紫光集团绿色全光网络技术大会 关于宣传网络安全法的知识 滦州市教育局网络安全活动 vue查询数据库反应到前端 北邮国院大二软件开发 戴尔服务器的管理网口配置是啥 二维码能够做数据库吗 网络安全资金保障不足 丰台区进口软件开发差异 软件开发的基本流程 规范和标准 网络安全保险投保资料 软件开发最主要的 网络安全检查长江 网络安全 军校 国内常用的中文数据库 棋牌游戏app软件开发多少钱 数据库相关会议 服务器集群与云平台 中国网安网络安全总监
0