Spring AOP 切入点表达式使用

本文详细介绍了Spring AOP中的切入点表达式的使用,包括匹配类型、方法、bean名称以及参数的方式。例如,`within()`用于匹配类型,`execution()`用于匹配方法签名,`bean()`针对bean的ID进行匹配,而`args()`则关注方法参数的类型和数量。这些表达式帮助精准地定义切面应用的范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、切入点表达式
1)匹配类型
用于匹配哪些类型的方法启用方面组件,语法格式如下
within(类型)
--匹配容器中HibernateCostDaoImpl的所有方法
within(com.tarena.dao.HibernateCostDaoImpl)
--匹配com.tarena包下所有类的所有方法
within(com.tarena.*)
--匹配com.tarena包及子包的所有类的所有方法
within(com.tarena..*)

2)匹配方法
用于匹配哪些方法启用方面组件,语法格式如下
execution(修饰符? 返回类型 方法名(参数列表) throws异常?)
--匹配所有对象的delete方法
execution(* delete(..))
--匹配HibernateCostDaoImpl的delete方法
execution(* com.tarena.dao.HibernateCostDaoImpl.delete(..))
--匹配HibernateCostDaoImpl的所有方法
execution(* com.tarena.dao.HibernateCostDaoImpl.*(..))
--匹配com.tarena包下所有类的所有方法
execution(* com.tarena.*.*(..))
--匹配com.tarena包及子包下所有类的所有方法
execution(* com.tarena..*.*(..))
3)匹配bean名称
用于匹配bean的id属性,语法格式如下
bean(id属性值)
--匹配id="costDao"的组件的所有方法
bean(costDao)
--匹配所有id以Dao结尾的组件的所有方法
bean(*Dao)
4)匹配参数
用于匹配参数类型和个数,代码格式如下
args(参数列表)
--匹配有一个参数并且为String类型的所有方法
args(java.lang.String)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值