Spring中获取代理对象的目标类Class及Class中的泛型参数的方法

在Spring里如果你通过AplicationContext获取Bean实例,你拿到的可能是一个被Spring代理的对象实例,如果你需要获取这个代理对象的目标类Class该怎么做呢?

也许你百度了半天找到的解决方案大都是要自己写上一大段蹩脚的代码,忘了那个过时的方案吧,只需要调用Spring的AopUtils,一行代码搞定。

AopUtils.getTargetClass(yourObjectInstance);

这种场景Spring内部肯定经常需要,用Spring自己的解决方案才是最合理的选择。

类似的,当你需要从类定义中提取泛型参数的对象Class,也可以借助Spring的方案:

ResolvableType resolvableType = ResolvableType.forClass(yourClass).getSuperType();
ResolvableType[] types = resolvableType.getGenerics();
return types[yourParamIndex].resolve();

更多极简封装,请关注diboot github


Diboot - 简单高效的自动化开发助理 (欢迎star)

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

相关阅读更多精彩内容

友情链接更多精彩内容