AspectJ方式获取切点参数

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内名称必须和通知方法参数对应

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容