为了账号安全,请及时绑定邮箱和手机立即绑定

​关于栗子中types-matching=“com.imooc.aop.schema.advice.biz.*(+)”的两点疑问。

关于栗子中types-matching=“com.imooc.aop.schema.advice.biz.*(+)”的两点疑问。

  1. types-matching匹配的应该是类层面的吧这里也可以匹配方法吗?

  2. com.imooc.aop.schema.advice.biz.*(+),‘+’号应该是匹配大于1次吧?这里是否意味着匹配有参数的方法,或者因为+号前边什么也没有所有匹配无餐的方法?

正在回答

4 回答

这个地方,老师应该讲错了。

types-matching是用来匹配类型的,无关方法。在Spring官方文档中,“The value of the types-matching attribute is an AspectJ type pattern ”

但是,AspectJ语言关于type pattern的介绍中,通配符方面,没有看到独立使用+加号的含义。。。。

老师案例中,可以做两个测试:

1、将(+)去掉,一样可以正常执行。

2、如果匹配到方法,是会报错的。


1 回复 有任何疑惑可以回复我~

* :匹配单个任意字段
.. :匹配多个任意字段(在类型匹配模式中匹配多个任意子包)(在方法参数匹配模式中匹配多个任意参数)
+:匹配指定类的子类(仅在类型匹配模式中作为后缀)

0 回复 有任何疑惑可以回复我~
#1

精慕门1546425

这个怎么解释(+)? +是针对子类型的 但括号里是参数
2018-07-20 回复 有任何疑惑可以回复我~

就是匹配com.imooc.aop.schema.advice.biz这个包下的所有类的所有方法,不论什么参数和方法都匹配


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

​关于栗子中types-matching=“com.imooc.aop.schema.advice.biz.*(+)”的两点疑问。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信