1. 引三方包
<dependency><groupId>org.reflections</groupId><artifactId>reflections</artifactId><version>0.9.11</version>
</dependency>

2、代码

 //反射工具包,指明扫描路径
Reflections reflections = new Reflections("cn.qdgd.center.base.service.impl");
//获取带Handler注解的类
Set<Class<?>> classList = reflections.getTypesAnnotatedWith(BpsService.class);
Date now = new Date();
// 根据自己场景书写其他代码。。。
  1. 部分用法
 // 初始化工具类Reflections reflections = new Reflections(new ConfigurationBuilder().forPackages(basePackages).addScanners(new SubTypesScanner()).addScanners(new FieldAnnotationsScanner()));// 获取某个包下类型注解对应的类Set<Class<?>> typeClass = reflections.getTypesAnnotatedWith(RpcInterface.class, true);// 获取子类Set<Class<? extends SomeType>> subTypes = reflections.getSubTypesOf(SomeType.class);// 获取注解对应的方法Set<Method> resources =reflections.getMethodsAnnotatedWith(SomeAnnotation.class);// 获取注解对应的字段Set<Field> ids = reflections.getFieldsAnnotatedWith(javax.persistence.Id.class);// 获取特定参数对应的方法Set<Method> someMethods = reflections.getMethodsMatchParams(long.class, int.class);Set<Method> voidMethods = reflections.getMethodsReturn(void.class);Set<Method> pathParamMethods =reflections.getMethodsWithAnyParamAnnotated(PathParam.class);// 获取资源文件Set<String> properties = reflections.getResources(Pattern.compile(".*\\.properties"));
  1. 部分使用场景
    1)获取某个类型的所有子类;比如,有一个父类是TestInterface,可以获取到TestInterface的所有子类。
    2)获取某个注解的所有类型/字段变量,支持注解参数匹配。
    3)使用正则表达式获取所有匹配的资源文件
    4)获取特定签名方法。

原文

java反射获取包下所有的类相关推荐

  1. java 获取包下的所有类,附完整源码和测试代码

    java 获取包下的所有类,完整Java代码如下: package com.example.demo.util;import java.io.File; import java.io.FileFilt ...

  2. java.util.regex包下的Pattern和Matcher详解(正则匹配)

    java正则表达式通过java.util.regex包下的Pattern类与Matcher类实现(建议在阅读本文时,打开java API文档,当介绍到哪个方法时,查看java API中的方法说明,效果 ...

  3. 反射创建对象_如何应用Java反射技术灵活地创建程序类的对象实例

    软件项目实训及课程设计指导--如何应用Java反射技术灵活地创建程序类的对象实例 1.如何应用属性配置文件实现对系统中的配置信息进行读写操作 Java中的属性配置文件主要可以作为软件应用系统及项目的配 ...

  4. java反射获取注解id,通过反射获取注解(Annotation)

    以下实例,定义一个注解.通过反射获取. 主要功能:为所注解过的参数和方法附加一些信息可以获取. 定义注解. import java.lang.annotation.*; @Retention(Rete ...

  5. Java反射--获取类方法的泛型返回或泛型参数

    Java反射--获取类方法的泛型返回或泛型参数 一.测试类 public class Test02 {public void parameterTest(Map<Integer, Dog> ...

  6. Android利用Java反射获取用户手机的rom定制系统及版本,EMUI,MIUI,ColorOS,FunthouchOS等

    Android利用Java反射获取用户手机的rom定制系统版本及版本号,EMUI,MIUI,ColorOS,FunthouchOS等 前言 正文 结语 前言 现在手机厂商都推出了自己的基于Androi ...

  7. Java 反射 ---- 获取成员变量构造函数信息

    这一章我们通过Java的反射获取某个类的成员变量构造函数信息,话不多说直接上代码. 先贴工具类获取类信息的方法: package com.blockChain;import java.lang.ref ...

  8. java 反射获取父类的字段_java反射获取父类和子类字段值、赋值

    这里将告诉您java反射获取父类和子类字段值.赋值,具体操作过程:java反射获取字段值.赋值 import org.springframework.util.ReflectionUtils; imp ...

  9. Android系统,动态找出一个包下所有的类

    最近在写一个android应用,由于针对不同机型功能很不同,为了隔离变化,希望将各项功能插件化,通过编译开关来控制不同版本的功能,而不是在代码中通过逻辑来判断. 我想了一个办法,用表驱动的方法,结合插 ...

最新文章

  1. excel表格最大行数
  2. 一致性算法(paxos,raft,ZAB)——paxos算法(大概)
  3. 免费OA系统品牌有那些?
  4. Git代码同时push到GitHub和Gitee(码云)
  5. struts codenips
  6. P2680-运输计划【LCA,树上差分,二分答案】
  7. Java 8“失宠”
  8. android 表情退格,讯飞输入法Android V8.1.8212 嘘-别说话全套emoji表情上
  9. Flink报错:java.io.IOException: Insufficient number of network buffers
  10. c# 在mongo中查询经纬度范围
  11. 关天asp.net ajax beta中在updatepnael中注册脚本的解决方案
  12. Python 中的注意点_s2
  13. 清华大学操作系统OS学习(五)——物理内存管理:非连续内存分配
  14. 初始单片机 ----自学笔记
  15. 论文常用图表三:盒图 Boxplot【MATLAB】
  16. kali最高权限root
  17. nvidia驱动卸载与安装
  18. 关于功耗芯片那些事(四)
  19. Java XStream理解
  20. 网络抓包技术:libcap

热门文章

  1. Hbase CallQueueTooBigException 异常处理
  2. VSCode打开多个项目文件夹的解决方法
  3. 计算机视觉通道域(channel)注意力机制——SENet
  4. 深度好文!男性在青年时期应为自己做哪些投资?
  5. (Object detection)目标检测从入门到精通——第三部分非极大抑制
  6. 从0成为Facebook广告高手系列教程
  7. mysql 主从 锁库_mysql 5.7.21 主从集群恢复GTID方式(不锁库)
  8. mysql binlog解析 c_解析MYSQL BINLOG二进制格式(9)--infobin解析binlog帮助文档
  9. 广告智能定向技术lookalike
  10. 吴恩达深度学习神经网络基础编程作业Planar data classification with one hidden layer