首页 > 代码库 > Spring AOP 切入点表达式使用
Spring AOP 切入点表达式使用
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)
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)
Spring AOP 切入点表达式使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。