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

Java反射获取所有Controller和RestController类的方法

Java反射获取所有Controller和RestController类的方法

引入三方反射工具Reflections

<dependency><groupId>org.reflections</groupId><artifactId>reflections</artifactId><version>0.10.2</version>
</dependency>

利用反射获取指定包下的Controller类


public class ControllerClassHolder {public static final Reflections REFLECTION = new Reflections("com.example.controller");public static final Set<Class<?>> CLASSES;static {CLASSES = REFLECTION.getTypesAnnotatedWith(Controller.class);CLASSES.addAll(REFLECTION.getTypesAnnotatedWith(RestController.class);)}
}

获取Controller方法

每个http请求基本都会使用@RequestMapping注解

List<Method> methods = new ArrayList<>();for (Class<?> controllerClass : CLASSES) {Method[] declaredMethods = controllerClass.getDeclaredMethods();Set<Method> methods = Arrays.stream(declaredMethods).filter(m -> m.getAnnotation(RequestMapping.class) != null).collect(Collectors.toSet());
}

相关文章:

Java反射获取所有Controller和RestController类的方法

Java反射获取所有Controller和RestController类的方法 引入三方反射工具Reflections <dependency><groupId>org.reflections</groupId><artifactId>reflections</artifactId><version>0.10.2</version> </dependency>利用反…...

设计模式--策略模式

目录 一.场景 1.1场景 2.2 何时使用 2.3个人理解 二. 业务场景练习 2.1业务: 2.2具体实现 2.3思路 三.总结 3.1策略模式的特点&#xff1a; 3.2策略模式优点 3.3策略模式缺点 一.场景 1.1场景 许多相关的类仅仅是行为有异&#xff0c;也就是说业务代码需要根据场景不…...

VSCode使用SSH无密码连接Ubuntu

VSCode使用SSH无密码连接Ubuntu 前提条件&#xff1a; 1. 能够正常使用vscode的Remote-ssh连接Ubuntu 2. Ubuntu配置静态ip&#xff08;否则经常需要修改Remote-ssh的配置文件里的IP&#xff09; 1. windows下 打开Win下的PowerShell&#xff0c;生成公钥和私钥 ssh-keygen…...

通过版本号控制强制刷新浏览器或清空浏览器缓存

背景介绍 在我们做 web 项目时&#xff0c;经常会遇到一个问题就是&#xff0c;需要 通知业务人员&#xff08;系统用户&#xff09;刷新浏览器或者清空浏览器 cookie 缓存的情况。 而对于用户而言&#xff0c;很多人一方面不懂如何操作&#xff0c;另一方面由于执行力问题&am…...

Redis系列(二):深入解读Redis的两种持久化方式

博客地址&#xff1a;blog.zysicyj.top Redis为什么要引入持久化机制 Redis引入持久化机制是为了解决内存数据库的数据安全性和可靠性问题。虽然内存数据库具有高速读写的优势&#xff0c;但由于数据存储在内存中&#xff0c;一旦服务器停止或崩溃&#xff0c;所有数据将会丢失…...

CNN之图像识别

文章目录 1. 图像识别1.1 模式识别1.2 图像识别的过程1.3 图像识别的应用 2. 深度学习发展2.1 深度学习为何崛起2.2 分类与检测2.3 常见的卷积神经网络 3. VGG3.1 VGG163.2 VGG16的结构&#xff1a;3.3 使用卷积层代替全连接3.4 1*1卷积的作用3.5 VGG16代码示例 4. 残差模型-Re…...

nvcc not found

检查cuda 安装成功 nvidia-smiCommand ‘nvcc’ not found, apt install nvidia-cuda-toolkitnvcc fatal : No input files specified&#xff1b; use option --help for more information # 注意是大写 V nvcc -V export PATH"/usr/local/cuda/bin:$PATH" expor…...

pdf怎么转换成jpg图片?这几个转换方法了解一下

pdf怎么转换成jpg图片&#xff1f;转换PDF文件为JPG图片格式在现代工作中是非常常见的需求&#xff0c;比如将PDF文件中的图表、表格或者图片转换为JPG格式后使用在PPT演示、网页设计等场景中。 【迅捷PDF转换器】是一款非常实用的工具&#xff0c;可以将PDF文件转换成多种不同…...

六轴机械臂码垛货物堆叠仿真

六轴机械臂码垛货物堆叠仿真 1、建立模型与仿真 clear,clc,close all addpath(genpath(.)) %建立模型参数如下&#xff1a; L(1) Link( d, 0.122, a , 0 , alpha, pi/2,offset,0); L(2) Link( d, 0.019 , a ,0.408 , alpha, 0,offset,pi/2); L(3) Link( d, …...

text-decoration 使用

text-decoration text-decoration 用于设置文本上的装饰性线条的外观。 它是 text-decoration-line、text-decoration-style、text-decoration-color 和text-decoration-thickness的缩写。 text-decoration: underline wavy red;text-decoration-line 设置文本装饰类型 可以…...

linux shell快速入门

linux shell快速入门 0 、前置1、简单使用 0 、前置 一安装linux的虚拟环境 1、简单使用 1、新建/usr/shell目录 2、新建hello.sh 文件 3、编写脚本文件# !/bin/bashecho "hello world"查看是否具备执行权限 新增执行权限 chomd x hello.sh执行hello.sh文件 /b…...

【Spring源码】小白速通解析Spring源码,从0到1,持续更新!

Spring源码 参考资料 https://www.bilibili.com/video/BV1Tz4y1a7FM https://www.bilibili.com/video/BV1iz4y1b75q bean的生命周期 bean–>推断构造方法&#xff08;默认是无参构造&#xff0c;或指定的构造方法&#xff09;–>实例化成普通对象&#xff08;相当于ne…...

Unity 鼠标实现对物体的移动、缩放、旋转

文章目录 1. 代码2. 测试场景 1. 代码 using UnityEngine;public class ObjectManipulation : MonoBehaviour {// 缩放比例限制public float MinScale 0.2f;public float MaxScale 3.0f;// 缩放速率private float scaleRate 1f;// 新尺寸private float newScale;// 射线pri…...

67Class 的基本语法

Class 的基本语法 类的由来[constructor() 方法](https://es6.ruanyifeng.com/#docs/class#constructor() 方法)类的实例实例属性的新写法取值函数&#xff08;getter&#xff09;和存值函数&#xff08;setter&#xff09;属性表达式[Class 表达式](https://es6.ruanyifeng.c…...

企业数字化转型:无形资产占比测算(2007-2021年)

在本次数据中&#xff0c;参考张永珅老师的做法&#xff0c;利用无形资产占比测算数字化转型程度。 一、数据介绍 数据名称&#xff1a;企业数字化转型&#xff1a;无形资产占比 数据年份&#xff1a;2007-2021年 样本数量&#xff1a;32960条 数据说明&#xff1a;包括数…...

[centos]设置主机名

1、设置 hostnamectl set-hostname 名字 2、查看是否生效 hostnamectl status 3、打开一个新链接就可以了...

华为OD真题--新学习选址--带答案

2023华为OD统一考试&#xff08;AB卷&#xff09;题库清单-带答案&#xff08;持续更新&#xff09;or2023年华为OD真题机考题库大全-带答案&#xff08;持续更新&#xff09; 为了解新学期学生暴涨的问题,小乐村要建立所新学校 考虑到学生上学安全问题,需要所有学生家到学校的…...

Qt自定义对话框

介绍 自定义框主要通过对现有对话框QDialog类的派生&#xff0c;根据需求编写成员函数、重载信号函数、槽函数&#xff0c;进而实现在主QWidget中点击某个按钮后&#xff0c;一个对话框的弹出 流程 简化创建派生类 最后点击完成即可。 自定义ui界面&#xff0c;编写成员函数…...

Python 程序设计入门(018)—— format() 函数的用法详解

Python 程序设计入门&#xff08;018&#xff09;—— format() 函数的用法详解 目录 Python 程序设计入门&#xff08;018&#xff09;—— format() 函数的用法详解一、format() 函数的基本格式二、不提供 format_spec 参数三、设置字符串的对齐方式&#xff08;align&#x…...

演进式架构

演进能力是一种元特征和保护其他所有架构特征的架构封装器IEEE 的软件架构定义中的41 视图模型。它关注不同角色的不同视角&#xff0c;将整个系统划分成了逻辑视图、开发视图、进程视图和物理视图架构师确定了可审计性、数据、安全性、性能、合法性和伸缩性是该应用的关键架构…...

技术员一键重装工具

链接&#xff1a;https://pan.quark.cn/s/22cfbc52af20...

如何快速配置Obsidian个性化首页:从零开始的完整指南

如何快速配置Obsidian个性化首页&#xff1a;从零开始的完整指南 【免费下载链接】obsidian-homepage Obsidian homepage - Minimal and aesthetic template (with my unique features) 项目地址: https://gitcode.com/gh_mirrors/obs/obsidian-homepage 你是否每天打开…...

OpenClaw本地代理方案:千问3.5-35B-A3B-FP8接口调用加速3种方法

OpenClaw本地代理方案&#xff1a;千问3.5-35B-A3B-FP8接口调用加速3种方法 1. 问题背景与挑战 去年夏天&#xff0c;当我第一次尝试用OpenClaw对接千问3.5-35B-A3B-FP8模型处理图文混合任务时&#xff0c;遇到了令人头疼的延迟问题。一个简单的"分析截图中的文字并生成…...

nginx-proxy-automation升级与迁移指南:平滑过渡到新版本

nginx-proxy-automation升级与迁移指南&#xff1a;平滑过渡到新版本 【免费下载链接】nginx-proxy-automation Automated docker nginx proxy integrated with letsencrypt. 项目地址: https://gitcode.com/gh_mirrors/ng/nginx-proxy-automation nginx-proxy-automati…...

新手入门transformer不再难:用快马生成可运行、带详解的注意力机制代码

最近在学习深度学习中的transformer模型&#xff0c;发现很多教程要么太理论化&#xff0c;要么代码注释不够详细。作为新手&#xff0c;我特别希望能有一份带详细中文注释、可以实际运行的代码来帮助理解。经过一番摸索&#xff0c;发现用InsCode(快马)平台可以很好地解决这个…...

正式支持 Spring Boot 4、新增 Jackson3/Snack4 插件适配

目前最新版本 v1.45.0 已推送至 Maven 中央仓库 &#x1f389;&#xff0c;大家可以通过如下方式引入&#xff1a; <!-- Sa-Token 权限认证 --> <dependency><groupId>cn.dev33</groupId><artifactId>sa-token-spring-boot4-starter</artifa…...

lychee-rerank-mm多模态重排序实战:Python实现图文混合内容精准匹配

lychee-rerank-mm多模态重排序实战&#xff1a;Python实现图文混合内容精准匹配 1. 引言 想象一下这样的场景&#xff1a;你在运营一个电商平台&#xff0c;用户上传了一张心仪的衣服图片&#xff0c;想要找到相似款式的商品。传统的文本搜索可能无法准确理解图片中的细节特征…...

DeepSeek-Coder-V2完全指南:从环境搭建到代码生成实战

DeepSeek-Coder-V2完全指南&#xff1a;从环境搭建到代码生成实战 【免费下载链接】DeepSeek-Coder-V2 DeepSeek-Coder-V2: Breaking the Barrier of Closed-Source Models in Code Intelligence 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-Coder-V2 D…...

微信数据解密技术全解析:从原理到合规应用

微信数据解密技术全解析&#xff1a;从原理到合规应用 【免费下载链接】PyWxDump 删库 项目地址: https://gitcode.com/GitHub_Trending/py/PyWxDump 合规使用声明 本文所介绍的技术与工具仅适用于个人合法拥有的数据管理场景。使用者必须确保&#xff1a;1) 仅对本人所…...

12年不上班,我靠什么支撑到现在

我已经12年没去上过班了&#xff0c;14年从学校辞职出来后&#xff0c;就没再给人打过工。虽然我不上班&#xff0c;但身边人都觉得我很会赚钱&#xff0c;觉得我很幸运&#xff0c;也觉得我很有勇气。 其实&#xff0c;并不是我多勇敢&#xff0c;是因为早在2014年&#xff0c…...