美文网首页
AspectJ方式获取切点参数

AspectJ方式获取切点参数

作者: kanaSki | 来源:发表于2019-08-13 21:31 被阅读0次

    applicationConstext.xml:

        <bean id="demo" class="com.Demo"/>
        <bean id="myBefore" class="com.advice.MyBeforeAdvice"></bean>
        <aop:config>
            <aop:aspect ref="myBefore">
                <aop:pointcut id="mypoint" expression="execution(* com.Demo.demo1(String,int)) and args(name,age)"/>
                <aop:before method="test" pointcut-ref="mypoint" arg-names="name,age"/>
            </aop:aspect>
        </aop:config>
    

    Demo.java:

    package com;
    
    public class Demo {
        public void demo1(String name,int age) {
            System.out.println("demo1");
        }
    }
    
    

    MyBeforeAdvice.java:

    package com.advice;
    
    public class MyBeforeAdvice {
        public void test(String name,int age){
            System.out.println(name);
        }
    }
    
    

    注:
    expression中and不能改为&&,由Spring将and解析为&&
    args(名称) 名称自定义,顺序和demo1(参数,参数)对应
    <aop:before>内arg-names="名称" 名称来源于expression中args,名称必须一样
    args()内有几个参数,arg-names内必须有几个参数
    arg-names内名称必须和通知方法参数对应

    相关文章

      网友评论

          本文标题:AspectJ方式获取切点参数

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