• spring-AOP框架(基于AspectJ注解配置AOP)


    基于AspectJ注解配置AOP

    1、加入jar包:

    要在Spring应用中使用AspectJ注解,必须在classpath下包含AspectJ类库:aopalliance.jar、aspectj.weaver.jar、spring-aspects.jar和spring-aop.jar。

    2、在配置文件中加入aop的命名空间:

      1)将aop Schema添加到<beans>根元素中

      2)要在springIOC容器中启用AspectJ注解支持,只要在Bean配置文件中定义一个空的XML元素<aop:aspectj-autoproxy>

      3)当SpringIOC容器侦测到Bean配置文件中的<aop:aspectj-autoproxy>元素时,会自动为与AspectJ切面匹配的Bean创建代理

    3、基于注解方式:

      1)在配置文件中加入如下配置:<aop:aspectj-autoproxy></aop:aspectj-autoproxy>

      2)把横切面关注点的代码抽象到切面的类中

        a. 切面首先是一个IOC容器的bean,即加入@Component注解

        b. 切面还需要加入@Aspect注解

      3)在类中声明各种通知(其中:AspectJ支持5钟注解通知:@Before-前置通知,在方法执行之前执行;@After-后置通知,在方法执行之后执行;@AfterRuning-返回通知,在方法返回结果之后执行;@AfterThrowing-异常通知,在方法抛出异常之后;@Around-环绕通知,围绕着方法执行)

        a. 声明一个方法

        b. 在方法前加入@Before注解 

      4)可以在通知方法中声明一个类型为JoinPoint的参数,然后就能访问链接细节,如方法名称和参数

      5)  使用@Order注解指定切面的优先级,值越小优先级越高,例:@Order(1)

      6)  使用@Pointcut来声明切入点表达式

      

     前置通知:

     后置通知:

    返回通知:

    异常通知:

    环绕通知:(不常用)

  • 相关阅读:
    python小练习
    python学习笔记
    google测试之道读书笔记一
    webservice头部认证
    我们需要什么样的测试?
    pt-ioprofile在CentOS7上无法运行的解决办法
    推荐Nginx系列文章
    linux开启coredump的3种方法
    55, select/poll returned error
    centos ftp安装
  • 原文地址:https://www.cnblogs.com/lijianda/p/8667416.html
Copyright © 2020-2023  润新知