Reflections 介绍
Reflections 介绍
研究Spring扫包原理的时候,在网上查阅相关资料的时候,发现使用Reflections库可以实现扫包。
Reflections 通过扫描 classpath,索引元数据,允许在运行时查询这些元数据,也可以保存收集项目中多个模块的元数据信息,值得一提的是,这东西在扫描的时候,连依赖的jar包都不放过。
使用 Reflections 可以查询以下元数据信息:
1)获得某个类型的所有子类型
2)获得标记了某个注解的所有类型/成员变量,支持注解参数匹配。
3)使用正则表达式获得所有匹配的资源文件
4)获得所有特定签名(包括参数,参数注解,返回值)的方法
Reflections 依赖 Google 的 Guava 库和 Javassist 库。
Maven 项目导入
<dependency><groupId>org.reflections</groupId><artifactId>reflections</artifactId><version>0.9.11</version>
</dependency>
通常用法:
Reflections reflections = new Reflections("com.my", new SubTypesScanner(false));
Set<Class<? extends T>> subTypesOf = reflections.getSubTypesOf(T.class);
Set<Class<?>> annotated = reflections.getTypesAnnotatedWith(T.class);
Reflections还有很多类似的反射类操作(如扫描方法、扫描参数等),可以说是应有尽有了。有兴趣的小伙伴们可以参考Reflection库的源码或者官方文档,这里就不详述了。
参考地址:https://github.com/ronmamo/reflections
转载于:https://www.cnblogs.com/syncmr/p/10523298.html
Reflections 介绍相关推荐
- Reflections 详细介绍
Reflections 详细介绍 Reflections 通过扫描 classpath,索引元数据,允许在运行时查询这些元数据,也可以保存收集项目中多个模块的元数据信息. 使用 Reflections ...
- Reflections一个强大的类扫描工具介绍
目录 一.Reflections能够做什么 二.如何使用 2.1. 在maven项目中添加如下依赖 2.2.使用示例 2.2.1.实例化 2.2.2.根据父类获取所有子类 2.2.3.根据接口获取所有 ...
- 【数据集介绍】The Idiap Research Institute REPLAY-Mobile Database
[时间]2018.11.14 [数据集介绍]The Idiap Research Institute REPLAY-Mobile Database 概述 本文是对数据集REPLAY-Mobile Da ...
- 3D音频再现理论研究(一)---3D音频技术历史介绍(转)
1992年,创新推出第一款双声道音效卡--Sound Blaster 16,这是一款拥有16bit采样和44.1kHz的采样速率的声卡.该款产品号称拥有CD一样的高质回放表现,声卡的音质从此获得了从量 ...
- 计算机缩写术语完全介绍 By 001pc @ 1997.10.1-2004-6-12
计算机缩写术语完全介绍By 001pc @ 1997.10.1-2004-6-12 在使用计算机的过程中,你可能会碰到各种各样的专业术语,特别是那些英文缩写常让我们不知所云,下面收集了各方面的词组,希 ...
- 《Non-contact Eye Gaze Tracking System by Mapping of Corneal Reflections》论文阅读
题目:Non-contact Eye Gaze Tracking System by Mapping of Corneal Reflections 作者:Dong Hyun Yoo, Jae Heon ...
- 常见棋类AI复杂度介绍
常见棋类AI复杂度介绍 本帖子是扫盲帖子,是关于棋类复杂度的介绍 这里介绍五种常见棋类:黑白棋,五子棋,中国象棋,国际象棋,围棋 黑白棋:相当经典的游戏,因为棋盘为8X8大小,且每一步变化不多,估算的 ...
- bfgs sherman_介绍Sherman(第2部分)–一个Unity项目,其中包含动画师的实时毛发,HDRP和Visual FX Graph
bfgs sherman Created by the Emmy-winning team that brought you Baymax Dreams, Sherman is a new real ...
- 计算机英文术语完全介绍
计算机英文术语完全介绍 1.CPU 3DNow!(3D no waiting) ALU(Arithmetic Logic Unit,算术逻辑单元) AGU(Address Generation Uni ...
最新文章
- MySQL为Null会导致5个问题,个个致命!
- python循环语句-python基础-循环语句(5)
- OpenCV 4.2.0 发布,Intel 开源的计算机视觉库
- ADS_LPC2103开发板SPI 4位数码管测试试验
- spyder 护眼背景
- Java PipedInputStream close()方法与示例
- js页面间通信方法实现
- 1.1 线性方程组(线性代数及其应用-第5版-系列笔记)
- 2021年网络工程师考试大纲
- 跑步c语言,小程序 跑步 记录跑步代码 记时间和位置更新
- Words study
- python中binomial_Python Numpy random.binomial() 二项分布
- 七号信令:MTP层简介
- 入门首选,Requests 库的基本使用
- .jar!/BOOT-INF/classes!/ jar包无法重启了,求大神帮忙解答,谢谢!
- 天猫首创“服务360”平台 赋能商家提升用户体验
- 信息技术领域,我们如何进行算法创新?
- 纯色图片颜色渐变动画
- MacOS M1芯片 安装eclipse和SVN
- 关于chm提示 已取消到该网页的导航的解决方法(转载,忘记出处)