zoukankan      html  css  js  c++  java
  • spring中Aop的注解

    @Pointcut注释声明一个切点目的是为了告诉切面,谁是它的服务对象。(此注释修饰的方法的方法体为空,不需要写功能比如 public void say(){};就可以了,方法名可以被候命的具体服务功能所以引用,它可以被理解为切点对象的一个代理对象方法)

    在spring配置文件中开启aop注释自动代理。如:<aop:aspectj-autoproxy/>

    注解方式声明Aop
    1.用@Aspect注解将类声明为切面(如果用@Component("")注解注释为一个bean对象,那么就要在spring配置文件中开启注解扫描,<context:component-scan base-package="com.cjh.aop2"/>
    否则要在spring配置文件中声明一个bean对象)

     定义切点@Pointcut("execution(* *.saying(..))")

    2.在切面需要实现相应方法的前面加上相应的注释,也就是通知类型。 
     前置通知(注解中的sayings()方法,其实就是上面定义pointcut切点注解所修饰的方法名,那只是个代理对象,不需要写具体相当于xml声明切面的id名,如下,相当于id="embark",用于供其他通知类型引用)

    3.此处有环绕通知,环绕通知方法一定要有ProceedingJoinPoint类型的参数传入,然后执行对应的proceed()方法,环绕才能实现。

     前置通知

        @Before("sayings()")

        后置通知

      @After("sayings()")

         环绕通知 注意要有ProceedingJoinPoint参数传入。

         @Around("sayings()")

    切记:<!-- 开启aop注解方式,此步骤不能少,这样java类中的aop注解才会生效 -->

     <aop:aspectj-autoproxy/>

  • 相关阅读:
    [Unity菜鸟] 协程Coroutine
    [Unity菜鸟] Unity发布web后,从HTML调用本地文件
    [Unity菜鸟] Unity鼠标双击,鼠标函数整理(未完)
    [Unity菜鸟] Unity Web Player 相关问题 (待完善)
    [Unity菜鸟] Unity读XML
    [Unity菜鸟] 术语
    [Unity菜鸟] 笔记2 —— 问题篇
    [Unity菜鸟] Mecanim 系统遇到的问题
    学习:条件[记录]断点
    学习:硬件断点
  • 原文地址:https://www.cnblogs.com/cpp-wth/p/11143993.html
Copyright © 2011-2022 走看看