Java反射获取所有Controller和RestController类的方法
更新时间:2023年08月15日 11:14:32 作者:冷雨夜中漫步
这篇文章给大家分享了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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot 2.6.x整合springfox 3.0报错问题及解决方案
这篇文章主要介绍了SpringBoot 2.6.x整合springfox 3.0报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-01-01使用 Spring Boot Admin 监控应用状态的详细过程
这篇文章主要介绍了使用 Spring Boot Admin 监控应用状态,该模块采集应用的内部信息,并暴露给外部的模块,支持 HTTP 和 JMX,并可以与一些第三方监控系统(如 Prometheus)整合,需要的朋友可以参考下2022-09-09SpringCloud微服务之Hystrix组件实现服务熔断的方法
微服务架构特点就是多服务,多数据源,支撑系统应用。这样导致微服务之间存在依赖关系。这篇文章主要介绍了SpringCloud微服务之Hystrix组件实现服务熔断的方法,需要的朋友可以参考下2019-08-08解决springboot 2.x集成log4j2调试日志无法关闭的问题
这篇文章主要介绍了解决springboot 2.x集成log4j2调试日志无法关闭的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-07-07
最新评论