美文网首页
Spring 与 AOP(第四讲)

Spring 与 AOP(第四讲)

作者: 辽A丶孙悟空 | 来源:发表于2020-08-02 19:02 被阅读0次
    回顾 Advice

    通知(Advice)是 Spring 提供的一种切面(Aspect)。 但其功能过于简单:只能将切面织入到目标类的所有目标方法中,无法完成将切面织入到指定目标方法中。
    顾问(Advisor)是 Spring 提供的另一种切面。其可以完成更为复杂的切面织入功能。PointcutAdvisor 是顾问的一种,可以指定具体的切入点。顾问将通知进行了包装,会根据不同的通知类型,在不同的时间点,将切面织入到不同的切入点。
    PointcutAdvisor 接口有两个较为常用的实现类:
    NameMatchMethodPointcutAdvisor:名称匹配方法切入点顾问。
    RegexpMethodPointcutAdvisor:正则表达式匹配方法切入点顾问。

    • 名称匹配方法切入点顾问
      NameMatchMethodPointcutAdvisor,即名称匹配方法切入点顾问。容器可根据配置文件中指定的方法名来设置切入点。
      代码不用修改,只在配置文件中注册一个顾问,然后使用通知属性 advice 与切入点的方法名 mappedName 对其进行配置。代理中的切面,使用这个顾问即可。
      举例: aop02_01 包。



      对于切入点的指定,有多种方式:





    • 正则表达式方法切入点顾问
      RegexpMethodPointcutAdvisor,即正则表达式方法顾间。容器可根据正则表达式米设置切入点。注意,与正则表达式进行匹配的对象是接口中的方法名,而非目标类(接口的实现类)的方法名。





      这里的正则表达式常用的运算符有三个,如下表:




    相关文章

      网友评论

          本文标题:Spring 与 AOP(第四讲)

          本文链接:https://www.haomeiwen.com/subject/kyfrrktx.html