zoukankan      html  css  js  c++  java
  • AspectJ的XML方式完成AOP的开发之切入点的表达式

    1. 再配置切入点的时候,需要定义表达式,重点的格式如下:execution(public * *(..)),具体展开如下:
        * 切入点表达式的格式如下:
            * execution([修饰符] 返回值类型 包名.类名.方法名(参数))
    
        * 修饰符可以省略不写,不是必须要出现的。
        * 返回值类型是不能省略不写的,根据你的方法来编写返回值。可以使用 * 代替。
        * 包名例如:com.huida.demo3.BookDaoImpl
            * 首先com是不能省略不写的,但是可以使用 * 代替
            * 中间的包名可以使用 * 号代替
            * 如果想省略中间的包名可以使用 .. 
    
        * 类名也可以使用 * 号代替,也有类似的写法:*DaoImpl
        * 方法也可以使用 * 号代替
        * 参数如果是一个参数可以使用 * 号代替,如果想代表任意参数使用 ..
    <!--     配置AOP -->
        <aop:config>
            <!--切面类 -->
            <aop:aspect ref="myAspectXml">
            <!-- 是在原始方法的前面执行,还是后面执行 -->
                <!-- pointcut:切入点 -->
                <!-- 切入点表达式
                    1.execution()固定的 不能不写
                    2.public可以省略不写,但如果是private则必须要写
                    3.void 返回值可以出现*表示任意的返回值  。返回值类型不能不写
                    4.可以使用*代替, 必须编写。如果想找这个项目中所有的方法,不能只写一个*,而应写为*..*
                    5.类名    可以写为*DaoImpl,表示拦截以DaoImpl的方法
                    6.方法名   save*  拦截方法以save开头的方法。
                    7.方法的参数
                  -->
                <aop:before method="log" pointcut="execution(public void com.huida.demo3.CustomerDaoImpl.save*(..))"/>
            </aop:aspect>
        </aop:config>
     
  • 相关阅读:
    centos安装vim
    thrift学习之二----学习资料积累
    thrift学习之一-------介绍
    组合模式
    一致性哈希算法(consistent hashing)
    php配置php-fpm启动参数及配置详解
    error while loading shared libraries的解決方法
    数据结构之二叉树
    768、最多能完成排序的块(贪心算法)
    VS code 配置C++编译环境
  • 原文地址:https://www.cnblogs.com/wyhluckdog/p/10131867.html
Copyright © 2011-2022 走看看