SpringAOP aspectJ ProceedingJoinPoint 获取当前方法

  

aspectJ切面通过ProceedingJoinPoint想要获取当前执行的方法:

错误方法:

 

     Signature s = pjp.getSignature();
    MethodSignature ms = (MethodSignature)s;
    Method m = ms.getMethod();

这种方式获取到的方法是接口的方法而不是具体的实现类的方法,因此是错误的。

 

正确方法:

        Signature sig = pjp.getSignature();
        MethodSignature msig = null;
        if (!(sig instanceof MethodSignature)) {
            throw new IllegalArgumentException("该注解只能用于方法");
        }
        msig = (MethodSignature) sig;
        Object target = pjp.getTarget();
        Method currentMethod = target.getClass().getMethod(msig.getName(), msig.getParameterTypes());

 

Spring 之AOP AspectJ切入点语法详解

  https://blog.csdn.net/zhengchao1991/article/details/53391244

使用AspectJ编程

  https://blog.csdn.net/zl3450341/article/details/7673938

转载于:https://www.cnblogs.com/leilong/p/9043372.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427703.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux修改挂载目录名字,linux下修改mount挂载目录名

有时根据情况需要更改mount挂载目录名来保持多个机器的统一,方便我们的分布式操作,下面是具体的操作细节。修改前:文件系统 容量 已用 可用 已用%% 挂载点/dev/mapper/VolGroup-lv_root50G 3.3G 44G 7% /tmpfs …

Linux禁止ip拒绝访问80,Linux iptables 设置允许(禁止)IP范围

假设有一个情况,我们要将某一个网段内的IP“一段IP”封锁起来,如192.168.0.2-192.168.0.61,请问该如何来设定这个规则?因为这个网段并没有符合任何一个CIDR网段,因此我们不能使用如“-s 192.168.0.0/28”的网段来匹配这…

转:linux中fork()函数详解

转:linux中fork()函数详解 https://blog.csdn.net/jason314/article/details/5640969转载于:https://www.cnblogs.com/igfirstblog/p/9046580.html

Linux表空间扩容,linux下oracle表空间导致磁盘空间不足

今天在执行oracle存储过程的时候报错,错误信息:"01652 无法通过128(在表空间temp中)扩展temp段"。在linux中执行df命令后发现表空间由于autoextend的原因,导致磁盘已用空间为100%。[rootlocalhost ~]# df -h文件系统 容量 已用 可用 已用% 挂…

作业1#python用列表实现多用户登录,并有三次机会

1 username ["juebai","haha"]2 password [123,456]3 count 04 while count < 3:5 _username input("用户名&#xff1a;")6 _password int(input("密码&#xff1a;"))7 if _username username[0] and _passwor…

linux命令 sed 有的功能有,Linux命令:sed简介

sed是一种在线行编辑器&#xff0c;一次处理一行。工作时&#xff0c;把当前处理的行放到“模式空间”中进行编辑&#xff0c;编辑完成后把内容输送至屏幕。语法&#xff1a;sed [OPTION]…{script}…[input file]选项&#xff1a;-r:支持正则表达式-n:静默模式&#xff0c;不显…

while中的break

while中的break意思是结束循环 start 0 while True:print(start)if start 100:break # 如果start 100 就退出循环start 1转载于:https://www.cnblogs.com/zhengkui/p/9052875.html

linux tcp header更改,Linux Netfilter中修改TCP/UDP Payload的方法

来自linux-2.6.36/net/ipv4/netfilter/nf_nat_helper.c注&#xff1a;该代码可以移植到ebtables中使用&#xff0c;但需要注意struct rtable *rt结构在ebtables中是没有的。修改UDP payload的代码&#xff1a;/* Unusual, but possible case. */static int enlarge_skb(struct …

Servlet跳转到JSP页面后的路径问题相关解释

一、现象与概念 1. 问题 在Servlet转发到JSP页面时&#xff0c;此时浏览器地址栏上显示的是Servlet的路径&#xff0c;而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同一个文件夹下时&#xff0c;则会出现路径混乱问题。 2. 绝对路径概念 相对于con…

linux7 kickstart,Linux运维知识之CENTOS 7 验证KICKSTART文件是否完整方法

本文主要向大家介绍了Linux运维知识之CENTOS 7 验证KICKSTART文件是否完整方法&#xff0c;通过具体的内容向大家展现&#xff0c;希望对大家学习Linux运维知识有所帮助。功能简介&#xff1a;CentOS 7 包含 ksvalidator 命令行程序&#xff0c;可使用该程序进行确认Kickstart文…

CI项目设计Redis队列

项目开发过程中需要设计提供可平衡的处理多个用户请求的队列。需求&#xff1a;当用户登录后&#xff0c;查看系统中已经登录的管理员队列&#xff0c;然后查看后台管理员的处理能力&#xff0c;如果已经不能处理新的请求&#xff0c;则把该管理员从处理队列中删除&#xff0c;…

c语言在函数中传递指针,[求助]关于文件指针在函数中传递的问题

[求助]关于文件指针在函数中传递的问题我写的一个程序中文件指针在各函数间传递。请各位整理一下思路。/**//* 。。。(开头部分省略) *//* 部分函数省略 *//* 打开号码文件&#xff0c;号码文件必须与该程序放在同一文件夹。*/void OpenFile(char * argv , FILE ** fin , FILE …

担当大任者的九大特征

一、忍得住孤独人生想要获得成功&#xff0c;必须忍得住孤独&#xff0c;尤其是在创业之初&#xff0c;很多时候为了达成目标&#xff0c;可能别人在休息时&#xff0c;我们还一个人在默默无闻的付出&#xff0c;这种过程是非常孤独的&#xff0c;但如果能挺得过去&#xff0c;…

c语言竖等于意思,C语言竖式问题

#include#includeint main(){char str[30];//键盘输入数组scanf("%s",str);int i,j;char sta[50];//字符串输入输出数组int count0;for(i1000;i<9999;i){for(j10;i<99;i){int proi*j;int pro1i*(j%10);int pro2i*(j/10);sprintf(sta,"%d%d%d%d%d",i,…

6章 Models

传统的MVC结构中&#xff0c;有模型这么一个概念。Django中&#xff0c;Models又是怎么一回事呢? 刚才生成的这些乱七八糟的数据迁移就是Django自带的一些应用 INSTALLED_APPS [django.contrib.admin,django.contrib.auth,django.contrib.contenttypes,django.contrib.sessio…

android activity之间传递对象,Android Activity之间的数据传递

一、通过startActivity来进行Activity的传值在Android中&#xff0c;如果我们要通过一个Activity来启动另一个Activity&#xff0c;可以使用 startActivity(Intent intent)方法来传入一个Intent对象&#xff0c;这个Intent对象我们可以精确的指定我们需要跳转的Activity上&…

I/O流

1.I/O流1.1 基本概念 I/O就是Input/Output的简写&#xff0c;也就是输入/输出的含义。 I/O流主要指像流水一样源源不断进行读写的状态/过程。 1.2 基本分类 以数据读写的单位不同分为&#xff1a;字节流 和 字符流。 其中字节流主要指以字节为基本单位进行读写的流&#xff0c;…

android蓝牙传输的是字符吗,Android蓝牙接收到的串行数据乱码

我已经通过以下线索了解我的疑问。但是&#xff0c;目前还不清楚。Android蓝牙接收到的串行数据乱码克里斯&#xff0c;这是一个不错的解决方法&#xff0c;你建议。在你提供的解决方案中&#xff0c;附加\ n的解决方案适合我&#xff0c;因为我纯粹将我的PC(MATLAB)中的浮点值…

请谈谈cookie,locaStorage的区别和特点

cookie和locaStorage有什么区别呢&#xff1f; 存储容量&#xff1a; Cookie存储的数据大小有限制&#xff0c;一般在4KB左右&#xff0c; LocaStorage可以存储更大的数据&#xff0c;一般在5MB甚至更多 存储位置&#xff1a; Cookie数据会随着每次HTTP请求自动发送到服务器端…

[UE4]更新UI的三种方式

一、函数绑定 二、属性绑定 只会列出匹配的数据类型。 三、事件驱动更新 啦啦啦啦啦 结论&#xff1a;函数和属性绑定的原理都是每帧都去调用绑定的函数/属性&#xff0c;效率比较低下&#xff0c;一般不推荐使用。事件驱动更新的效率最好&#xff0c;性能最好。 在正式的产品开…