• Spring AspectJ基于注解的AOP实现


    对于AOP这种编程思想,很多框架都进行了实现。Spring就是其中之一,可以完成面向切面编程。然而,AspectJ也实现了AOP的功能,且实现方式更为简捷,使用更加方便,而且还支持注解式开发。所以,Spring又将AspectJ对于AOP的实现也引入到了自己的框架中。
         在Spring中使用AOP开发时,一般使用AspectJ的实现方式。

    Spring的经典AOP配置方案
      01.使用的是Aspectj第三方框架,实现了AOP思想
      02.注解配置的AOP
      03.纯POJO <aop:config>

    切入点表达式
    execution(【modifiers-pattern?】 访问修饰符
    ret-type-pattern 返回值类型
    【declaring-type-pattern?】 全限定性类名
    name-pattern(param-pattern) 方法名(参数名)
    【throws-pattern?】) 抛出异常类型

    切入点表达式要匹配的对象就是目标方法的方法名。所以,execution表达式中明显就是方法的签名。注意:表达式中加[]的部分表示可省略部分,各部分间用空格分开。在其中可以使用以下符号:
    符号       意义
    *      0至多个任意字符
    ..     用在方法参数中,表示任意多个参数
       

           用在包名后,表示当前包及其子包路径
    +    用在类名后,表示当前类及其子类
           用在接口后,表示当前接口及其实现类
    案例:
    execution(public * *(..)) 指定切入点为:任意公共方法
    execution(* set*(..)) 指定切入点为:任何一个以"set"开始的方法

    引入jar包
       com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar  依赖包里
       spring-aspects-4.2.0.RELEASE.jar


      引入aop约束
       xmlns:aop="http://www.springframework.org/schema/aop"

       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd


    ISomeService.java

     View Code

    SomeServiceImpl.java

     View Code

    MyAspect.java

     View Code

    applicationContext.xml

     View Code

    MyTest.java

     View Code

    展示效果:

  • 相关阅读:
    hdu6162 Ch’s gift
    hdu 6166 Senior Pan
    bzoj2818 Gcd
    hdu6127 Hard challenge
    splay伸展树模板
    2016-2017 National Taiwan University World Final Team Selection Contest J
    2016-2017 National Taiwan University World Final Team Selection Contest C
    使用powershell管理域用户
    EGL Driver message (Critical) eglInitialize: No available renderers.
    Python实现telnet命令测试防火墙
  • 原文地址:https://www.cnblogs.com/6zhi/p/6023720.html
Copyright © 2020-2023  润新知