java获取method_从Method中获取完整类名和方法名
需求假设:假设在包com.zhoutao.controller下有方法getKey()方法,在JavaEE中,通过AOP获得该方法的的对象method,现在通过该对象的getName方法,仅仅只能获得getKey的结果,现在我需要的是com.zhoutao.controller.getKay 那么该如何获取呢?
查找官方API并未发现此方法,现在我们来分析下将类名和方法名分开看:
结果 = 类名全称 +"."+方法名
现在我们已经拿到方法名了,那么我们看看能不能找到这个方法的类,我们看一下Method的源码:
public final class Method extends Executable {
private Class> clazz;
private int slot;
// This is guaranteed to be interned by the VM in the 1.4
// reflection implementation
private String name;
private Class> returnType;
private Class>[] parameterTypes;
private Class>[] exceptionTypes;
private int modifiers;
// Generics and annotations support
private transient String signature;
// generic info repository; lazily initialized
private transient MethodRepository genericInfo;
private byte[] annotations;
private byte[] parameterAnnotations;
private byte[] annotationDefault;
private volatile MethodAccessor methodAccessor;
.....
通过源码可以看到,内部提供了clazz,我们知道通过clazz可以获得类名,但是这个clazz是私有的,我们怎么拿到它呢?
幸运的是,我们发现了下面的方法通过源码可以看到,内部提供了clazz,我们知道通过clazz可以获得类名,但是这个clazz是私有的,我们怎么拿到它呢?
幸运的是,我们发现了下面的方法:
/**
* {@inheritDoc}
*/
@Override
public Class> getDeclaringClass() {
return clazz;
}
结果 = 类名全称 +"."+方法名
结果 = method.getDeclaringClass().getName()+"."+method.getName()
java获取method_从Method中获取完整类名和方法名相关推荐
- JAVA中获取当前运行的类名,方法名,行数
JAVA中获取当前运行的类名,方法名,行数 public static String getTraceInfo(){ StringBuffer sb = new StringBuffer(); Sta ...
- java数据存在ie中_[Java教程]解决在IE中获取数据的缓存问题,运行环境为node.js
[Java教程]解决在IE中获取数据的缓存问题,运行环境为node.js 0 2015-11-30 20:00:06 IE下默认会开启缓存策略,不管是页面还是通过ajax请求的数据都会议一个url,u ...
- java定时器任务中获取request对象 @Scheduled 获取request 对象 quartz中获取request对象
java定时器任务中获取request对象 @Scheduled 获取request 对象 quartz中获取request对象 一.问题描述 1.在java定时任务中,使用 @Scheduled 注 ...
- 使用dom方式遍历文档||获取元素||从元素中获取数据
使用dom方式遍历文档 获取元素 根据id查询元素getElementById 根据标签获取元素getElementsByTag 根据class获取元素getElementsByClass 根据属性获 ...
- mysql获取当月最后一天_mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天
mysql获取当月最后一天_mysql中获取本月第一天.本月最后一天.上月第一天.上月最后一天等等 转自: https://blog.csdn.net/min996358312/article/det ...
- 获取ASP.NET MVC中的完整操作URL [重复]
本文翻译自:Getting full URL of action in ASP.NET MVC [duplicate] This question already has an answer here ...
- Java笔记-通过反射获取注解及Spring中获取某包下的所有class文件
首先来看看使用反射来获取注解名: 只需在获取class后调用getAnnotation方法即可,如下 这里是获取JPA映射b表名,Table.class,使用下面这个可以获取表名 import jav ...
- java 当前时间格式_JAVA中获取当前系统时间及格式转换
一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStri ...
- 在java中获取当前时间_JAVA中获取当前系统时间
一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStri ...
- java资源文件路径_Java 中获取资源(文件)的路径问题总结
Java 中获取资源(文件)的路径问题总结 首先,Java 中获取资源大体上可分为两种方式,基于 文件系统的 和 基于classpath的. 1. 基于文件系统的相对简单. 比如 构造一个File f ...
最新文章
- 每周四十小时,你有多少是在为自己干活?
- 多条记录取最前面一条或根据条件任取N条
- 如何开始SLAM学习?
- jpa遇到的 org.hibernate.PersistentObjectException: detached entity passed to persist异常
- vue中使用moment来实现导出excel时添加格式化的时间戳
- Windows内存管理机密+揭穿内存优化工具的骗局
- 读《深入jvm原理》之class文件
- Java设计模式、框架、架构、平台之间的关系
- 深度学习- 激活函数总结(Sigmoid, Tanh, Relu, leaky Relu, PReLU, Maxout, ELU, Softmax,交叉熵函数)
- 【sql绕过】Bypass waf notepad of def
- 禁止复制粘贴_网页禁止你复制粘贴?新同事教我这三招,全网内容随我复制
- Android学习路之Button(按钮)与ImageButton(图像按钮)
- 联想微型计算机7360,我的电脑是联想启天M7360台式品牌机,想升级CPU,请问可以换什么CPU?...
- 学习————运算符!
- 微信公众平台开发入门
- python提现_赶紧参加微信支付获取微信提现免费额度
- visual studio 在64位编译环境下,X86 X64目标计算机错误
- nRF52832不使用外部32.768K晶振,使用内部晶振
- 精美响应式列表商城卡密自动发卡系统源码
- PRX 通过LSP实现浏览器Socks5/Tcp代理(从发送数据上着手)