目录
一、Reflections能够做什么
反射扫描和索引项目的类路径元数据,允许在运行时对类型系统进行反向传递查询。
使用反射,您可以查询元数据,例如:
-
获取某种类型的所有子类型
-
获取所有类型/构造函数/方法/字段,并使用一些注释进行注释,可选地使用匹配的注释参数
-
获取匹配正则表达式的所有资源
-
获取具有特定签名的所有方法,包括参数、参数注释和返回类型
-
获取所有方法参数名称
-
获取代码中的所有字段/方法/构造函数用法
二、如何使用
2.1、 在maven项目中添加如下依赖
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.10.2</version>
</dependency>
2.2、使用示例
2.2.1、实例化
//指定包路径,默认支持Scanners.TypesAnnotated, Scanners.SubTypes 两种扫描类型
Reflections reflections = new Reflections("com.dora.distribution");
//指定包路径和扫描类型
Reflections reflections = new Reflections("com.koala.distribution", Scanners.MethodsAnnotated);
//使用Configuration实例化
Reflections reflections = new Reflections(ConfigurationBuilder.build().forPackage("com.dora.distribution").setScanners(Scanners.values()));