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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java中遍历ConcurrentHashMap的四种方式详解
这篇文章主要介绍了Java中遍历ConcurrentHashMap的四种方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-10-10


最新评论