当前位置: 首页 > news >正文

java通过反射,动态调用指定注解的方法


@SpringBootTest
@RunWith(SpringRunner.class)
public class AnnoTest {@Autowiredprivate ApplicationContext applicationContext;@Testpublic void test(){// 获取有指定注解的BeanMap<String, Object> annotationMap = applicationContext.getBeansWithAnnotation(CacheConfig.class);for (Map.Entry<String, Object> map : annotationMap.entrySet()){String key = map.getKey();Object bean = map.getValue();
//            通过obj.getClass().getSuperclass()来获取代理类的真实类Class<?> clazz = bean.getClass().getSuperclass();Method[] declaredMethods = clazz.getDeclaredMethods();for (Method method : declaredMethods) {// 找到有对应的注解的方法if (method.isAnnotationPresent(Cacheable.class)) {// 判断方法名是否是指定的String name = method.getName();if("getUser".equals(name)){System.out.println("找到目标方法");try {Object invoke = method.invoke(bean, 523L);System.out.println(invoke);} catch (Exception e) {e.printStackTrace();}}}}}}}

需要注意的是:由于使用了 CGLIB,所以需要使用 “bean.getClass().getSuperclass()” 才可以获取到真实的类。如果没有使用CGLIB,直接使用 “bean.getClass()”即可获取到真实的类。

相关文章:

java通过反射,动态调用指定注解的方法

SpringBootTest RunWith(SpringRunner.class) public class AnnoTest {Autowiredprivate ApplicationContext applicationContext;Testpublic void test(){// 获取有指定注解的BeanMap<String, Object> annotationMap applicationContext.getBeansWithAnnotation(CacheC…...

QT学习方法

1 .类的学习方法 第一步:从UI文件中,找到界面的类—QMainWindow第二步:在Qt Creator工具中,找到“帮助”按钮,进入到帮助菜单界面,在选择"索引",在Look for:输入类名,找到类名,双击条目中的类名,在右侧会显示出来类的详细内容第三步:在右侧,可根据内容目录…...

C++中的类型擦除技术

文章目录 一、C类型擦除Type Erasure技术1.虚函数2.模板和函数对象 二、任务队列1.基于特定类型的方式实现2.基于任意类型的方式实现 参考&#xff1a; 一、C类型擦除Type Erasure技术 C中的类型擦除&#xff08;Type Erasure&#xff09;是一种技术&#xff0c;用于隐藏具体类…...

激光雷达 01 线数

一、线数 对于 360 旋转式和一维转镜式架构的激光雷达来说&#xff0c;有几组激光收发模块&#xff0c;垂直方向上就有几条线&#xff0c;被称为线数。这种情况下&#xff0c;线数就等同于激光雷达内部激光器的数量[参考]。 通俗来讲&#xff0c;线数越高&#xff0c;激光器的…...

PHP 公交公司充电桩管理系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP 公交公司充电桩管理系统是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 源码下载 https://download.csdn.net/download/qq_41221322/88220946 论文下…...

HTML <strong> 标签

定义和用法 以下元素都是短语元素。虽然这些标签定义的文本大多会呈现出特殊的样式&#xff0c;但实际上&#xff0c;这些标签都拥有确切的语义。 我们并不反对使用它们&#xff0c;但是如果您只是为了达到某种视觉效果而使用这些标签的话&#xff0c;我们建议您使用样式表&a…...

机器学习笔记 - 使用 ResNet-50 和余弦相似度的基于图像的推荐系统

一、简述 这里的代码主要是基于图像的推荐系统,该系统利用 ResNet-50 深度学习模型作为特征提取器,并采用余弦相似度来查找给定输入图像的最相似嵌入。 该系统旨在根据所提供图像的视觉内容为用户提供个性化推荐。 二、所需环境 Python 3.x tensorflow ==2.5.0 numpy==1.21.…...

Codeforces Round 881 Div.3

文章目录 贪心&#xff1a;A. Sasha and Array Coloring结论&#xff1a;B. Long Long性质&#xff1a;C. Sum in Binary Treedfs求叶子数量&#xff1a;D. Apple Tree二分与前缀和&#xff1a;E. Tracking Segments 贪心&#xff1a;A. Sasha and Array Coloring Problem - A…...

Kubernetes(K8s)从入门到精通系列之十六:linux服务器安装minikube的详细步骤

Kubernetes K8s从入门到精通系列之十六:linux服务器安装minikube的详细步骤 一、安装Docker二、创建启动minikube用户三、下载minikube四、安装minikube五、将minikube命令添加到环境变量六、启动minikube七、查看pods,自动安装kubectl八、重命名minikube kubectl --为kubect…...

JDBC配置文件抽取-spring11

改成context,到这里我们context命名空间就引入完毕&#xff0c;加载我们外部properties配置文件&#xff1a; 用它&#xff1a;第一个属性&#xff0c;第二个类型 在未加载路径下&#xff1a; 现在我已经把spring加载到配置文件里了。 现在我需要在这个位置引入proper…...

el-form组件相关的一些基础使用

el-checkbox 01.description 多选单选框 02.场景举例 需要对每一条数据展示她的某些状态是否存在 03.代码展示 <el-checkbox v-model"query.isAutoAccptncsign" true-label1 false-label0 :disabled"ifReview?true:false">自动发起承兑应答</…...

全新 – Amazon EC2 M1 Mac 实例

去年&#xff0c;在 re: Invent 2021 大会期间&#xff0c;我写了一篇博客文章&#xff0c;宣布推出 EC2 M1 Mac 实例的预览版。我知道你们当中许多人请求访问预览版&#xff0c;我们尽了最大努力&#xff0c;却无法让所有人满意。不过&#xff0c;大家现在已经无需等待了。我很…...

java # Servlet

一、什么是Servlet&#xff1f; Servlet是javaEE规范之一。规范就是接口。JavaWeb三大组件分别是&#xff1a;Servlet程序、Filter过滤器、Listener监听器。Servlet是运行在服务器上的一个Java小程序&#xff0c;它可以接收客户端发送来的请求&#xff0c;并响应数据给客户端。…...

Linux内核的两种安全策略:基于inode的安全与基于文件路径的安全

实现系统安全的策略 在Linux中&#xff0c;一切且为文件&#xff0c;实现系统安全的策略主要可分为两种&#xff1a;基于inode的安全、基于文件路径的安全。 基于inode的安全 为文件引入安全属性&#xff0c;安全属性不属于文件内容&#xff0c;它是文件的元数据&#xff0c…...

有哪些前端开发工具推荐? - 易智编译EaseEditing

在前端开发中&#xff0c;有许多工具可以帮助你更高效地进行开发、调试和优化。以下是一些常用的前端开发工具推荐&#xff1a; 代码编辑器/集成开发环境&#xff08;IDE&#xff09;&#xff1a; Visual Studio Code&#xff1a;功能强大、轻量级的代码编辑器&#xff0c;支…...

【JAVA】抽象类与接口

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;浅谈Java &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; 抽象类与接口 1. 抽象类1.1 抽象类的概念…...

人脸图像处理

1,人脸图像与特征基础 人脸图像的特点 规律性: 人的两只眼睛总是对称分布在人脸的上半部分,鼻子和嘴唇中心点的连线基本与两眼之间的连线垂直,嘴绝对不会超过眼镜的两端点(双眼为d,则双眼到嘴巴的垂直距离一般在0.8-1.25) 唯一性 非侵扰与便利性 可扩展性 人脸图像的应用 身份…...

Docker入门——实战图像分类

一、背景 思考&#xff1a; 在一个项目的部署阶段&#xff0c;往往需要部署到云服务器或者是终端设备上&#xff0c;而环境的搭建往往是最费时间和精力的&#xff0c;特别是需要保证运行环境一致性&#xff0c;有什么办法可以批量部署相同环境呢&#xff1f; Docker本质——…...

【HarmonyOS北向开发】-02 第一个程序测试

飞书原文档链接&#xff1a;Docs...

关于小程序收集用户手机号行为的规范

手机号在日常生活中被广泛使用&#xff0c;是重要的用户个人信息&#xff0c;小程序开发者应在用户明确同意的前提下&#xff0c;依法合规地处理用户的手机号信息。 而部分开发者在处理用户手机号过程中&#xff0c;存在不规范收集行为&#xff0c;影响了用户的正常使用体验&a…...

别再被代码劝退!用LilyPond 2.20.0写《铃儿响叮当》乐谱,5分钟搞定你的第一份五线谱

别再被代码劝退&#xff01;用LilyPond 2.20.0写《铃儿响叮当》乐谱&#xff0c;5分钟搞定你的第一份五线谱 第一次看到LilyPond的界面&#xff0c;很多人会下意识皱眉——满屏的代码和符号&#xff0c;仿佛在劝退非程序员背景的音乐爱好者。但事实上&#xff0c;用LilyPond制…...

Audacity音频编辑完全手册:从零开始制作专业音频作品

Audacity音频编辑完全手册&#xff1a;从零开始制作专业音频作品 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 想制作播客却不知道如何剪辑&#xff1f;需要为视频添加背景音乐但找不到合适的工具&#xff1f;或…...

ZimaOS Blue:本地优先AI代理运行时,打造私有化智能助手

1. 项目概述&#xff1a;ZimaOS Blue&#xff0c;一个为“大胆构建者”准备的本地优先AI代理运行时 如果你和我一样&#xff0c;对当前AI应用生态里那些动辄需要联网、依赖特定云服务、数据隐私存疑的“智能助手”感到厌倦&#xff0c;同时又渴望一个能真正运行在自己设备上、…...

资本意志下的工程师生存指南:从高通裁员看技术与商业的博弈

1. 从一封信到四千七百张解雇单&#xff1a;当资本意志敲响工程师的门在科技行业&#xff0c;尤其是半导体这个以创新为生命线的领域&#xff0c;我们常常沉浸于晶体管密度、架构革新和制程竞赛的技术叙事中。然而&#xff0c;2015年夏天&#xff0c;一封来自华尔街的公开信&am…...

终极音乐解锁指南:3步免费解锁任何加密音乐文件

终极音乐解锁指南&#xff1a;3步免费解锁任何加密音乐文件 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地址: https://git…...

一句话就能“劫持”你的AI?DZS 分层式自适应提示词注入攻击的防御机制框架 (HAA)来了!

本文所展示的提示词技术已在Research square 发表论文预印本。DOI&#xff1a;https://doi.org/10.21203/rs.3.rs-9653510/v1 作者“抖知书&#xff08;douzhishu&#xff09;&#xff0c;涉及到相关测试数据是本人自行测试的&#xff0c;并未通过多专家评审&#xff0c;所以仅…...

从Matlab到示波器:手把手教你用Vivado和FPGA实现20kHz SPWM信号(附完整代码)

从Matlab到示波器&#xff1a;FPGA实现20kHz SPWM信号的工程实践指南 在电力电子和电机控制领域&#xff0c;SPWM&#xff08;正弦脉宽调制&#xff09;技术因其高效和精确的特性而广受青睐。本文将带领读者完成一个完整的FPGA实现SPWM信号的工程流程&#xff0c;从Matlab数据生…...

量子误差缓解技术与BBGKY层次结构的应用

1. 量子误差缓解的现状与挑战在当前的NISQ&#xff08;噪声中等规模量子&#xff09;时代&#xff0c;量子计算机的实际应用面临着一个根本性障碍&#xff1a;量子噪声。与经典计算机不同&#xff0c;量子比特极易受到环境干扰&#xff0c;导致计算错误。这种噪声主要来源于量子…...

DroidCam OBS插件终极指南:零成本将手机变身高清直播摄像头

DroidCam OBS插件终极指南&#xff1a;零成本将手机变身高清直播摄像头 【免费下载链接】droidcam-obs-plugin DroidCam OBS Source 项目地址: https://gitcode.com/gh_mirrors/dr/droidcam-obs-plugin 还在为专业直播设备价格昂贵而烦恼&#xff1f;想用手机摄像头获得…...

基于FreeRTOS与LVGL的智能手表开源系统InfiniTime开发指南

1. 项目概述&#xff1a;为你的智能手表注入灵魂 如果你手上有一块PineTime或者类似的低功耗智能手表&#xff0c;并且对官方固件那有限的功能感到意犹未尽&#xff0c;那么“InfiniTime”这个名字你应该不会陌生。它不是一个简单的应用商店&#xff0c;而是一个为这类开源硬件…...