CGJ_M
2017-03-24 00:31
关于栗子中types-matching=“com.imooc.aop.schema.advice.biz.*(+)”的两点疑问。
types-matching匹配的应该是类层面的吧这里也可以匹配方法吗?
com.imooc.aop.schema.advice.biz.*(+),‘+’号应该是匹配大于1次吧?这里是否意味着匹配有参数的方法,或者因为+号前边什么也没有所有匹配无餐的方法?
这个地方,老师应该讲错了。
types-matching是用来匹配类型的,无关方法。在Spring官方文档中,“The value of the types-matching attribute is an AspectJ type pattern ”
但是,AspectJ语言关于type pattern的介绍中,通配符方面,没有看到独立使用+加号的含义。。。。
老师案例中,可以做两个测试:
1、将(+)去掉,一样可以正常执行。
2、如果匹配到方法,是会报错的。
* :匹配单个任意字段
.. :匹配多个任意字段(在类型匹配模式中匹配多个任意子包)(在方法参数匹配模式中匹配多个任意参数)
+:匹配指定类的子类(仅在类型匹配模式中作为后缀)
就是匹配com.imooc.aop.schema.advice.biz这个包下的所有类的所有方法,不论什么参数和方法都匹配
Spring入门篇
268787 学习 · 963 问题
相似问题