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

来源:5-6 Introductions应用

CGJ_M

2017-03-24 00:31

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

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

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

写回答 关注

3回答

  • 精慕门1546425
    2018-07-20 18:05:22

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

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

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

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

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

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


  • 橙子111000
    2018-04-21 22:13:15

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

    精慕门154...

    这个怎么解释(+)? +是针对子类型的 但括号里是参数

    2018-07-20 17:23:48

    共 2 条回复 >

  • 水木星火
    2017-03-25 13:57:35

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


Spring入门篇

为您带来IOC和AOP的基本概念及用法,为后续高级课程学习打下基础

268787 学习 · 963 问题

查看课程

相似问题