PathMatchingResourcePatternResolver通过适配符寻找符合条件的java类
项目中,有时需要通过特定的字符寻找特定的类,如mybatis,可以通过适配符寻找要扫描的目录。
我们自己也可以通过适配符寻找到自己想要的类,具体代码如下:
/*** 通过包名获取class** @author starmaark* @version 2018年4月12日 下午5:55:18 */
public class ClassTools {private static final Logger log = LoggerFactory.getLogger(ClassTools.class);private static final String RESOURCE_PATTERN = "/**/*.class";public static Set<Class<?>> findPathMatchingResources(String locationPattern) {// 第一个class类的集合Set<Class<?>> classes = new LinkedHashSet<Class<?>>();try {String pattern = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX +ClassUtils.convertClassNameToResourcePath(locationPattern) + RESOURCE_PATTERN;ResourcePatternResolver resourceLoader = new PathMatchingResourcePatternResolver();Resource[] source = resourceLoader.getResources(pattern);MetadataReaderFactory readerFactory = new CachingMetadataReaderFactory(resourceLoader);//System.out.println("length:" + source.length);for (Resource resource : source) {if (resource.isReadable()) {MetadataReader reader = readerFactory.getMetadataReader(resource);String className = reader.getClassMetadata().getClassName();classes.add(Class.forName(className));}}}catch (Exception e){log.error("寻找符合条件的包失败",e);}return classes;}}
OK,上述代码执行成功!
PathMatchingResourcePatternResolver通过适配符寻找符合条件的java类相关推荐
- matlab取矩阵满足条件,[MATLAB]矩阵中寻找满足条件的元素
参见张志涌精通matlab >> A=randn(3,4) A = -0.5883 0.1139 -0.0956 -1.3362 2.1832 1.0668 -0.8323 0.7143 ...
- matlab筛选矩阵列,【转载】[Matlab]在矩阵中寻找满足条件的元素
参见张志涌精通matlab >> A=randn(3,4) A = -0.5883 0.1139 -0.0956 -1.3362 2.1832 1.0668 -0. ...
- 编程之美2.8 找符合条件的整数
这个题目是,给定一个整数 N,需要寻找另外一个整数 M,使得 N * M 得到的结果十进制表示中只存在1和0两个数字.首先看到这个题目,第一思想肯定是 使 M = 1,并依此递增 M 的值,直到 N ...
- 第2章 数字之魅——快速寻找满足条件的两个数
快速寻找满足条件的两个数 问题描述 能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的数字,为了简化起见,我们假设这个数组中肯定存在这样一组或以上符合要求的解. 分析与解法 [解法一] ...
- java 根据条件从list中筛选出符合条件的集合_Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合
点波关注不迷路,一键三连好运连连! 先贴上几个案例,水平高超的同学可以挑战一下: 从员工集合中筛选出salary大于8000的员工,并放置到新的集合里. 统计员工的最高薪资.平均薪资.薪资之和. 将员 ...
- php正则替换%3cbr%3e_PHP preg_replace() 正则替换所有符合条件的字符串
需要我们用程序处理的数据并不总是预先以数据库思维设计的,或者说是无法用数据库的结构去存储的. 比如模版引擎解析模版.垃圾敏感信息过滤等等. 一般这种情况,我们用正则按我们的规则去匹配preg_matc ...
- EXCEL文本处理总结:如何查找(/定位)字符串内,符合条件的多个符号里的最后一个?
目录 题外话:学习总结 1 新手切忌贪多 2 熟练者切忌懒惰 3 这2件事恰恰都和人性相反 1 EXCEL文本处理相关函数 2 查找函数 find() 和 search() 2.1 find() 2 ...
- DOM获取符合条件的父级节点
这种场景应该很常见,点击个原始,想获取最近符合要求的父节点 代码如下: function getParent(max) {let index = 0;let maxCheck = (max & ...
- mongodb和pymongo中,在多层嵌套数组中插入(更新)符合条件的元素
数据结构是多层嵌套数组: {"_id" : ObjectId("5de0c88a0f158bf0f60ff99a"),"province" ...
最新文章
- 手把手教你用anaconda安装pytorch最新版
- sybase存储过程修改
- 每天一个linux命令(41):ps命令
- python scrapy 环境搭建_python+scrapy环境搭建步骤描述
- 算法可以申请专利么_Ta 在假笑么?这个识别算法可以鉴定
- 当你输入一个网址的时候,实际会发生什么?(转)
- jQuery插件开发的准备
- 获取数据库链接Junit
- PowerShell校验哈希
- couchbase php,数据库大全-之-Couchbase
- windows c语言编程环境,windows7中c语言编程环境的搭建
- Python爬虫实战之抓取猫眼电影
- Ansible9:变量之Fact
- 麦吉尔大学的数学与计算机科学,麦吉尔大学数学与计算机科学本科.pdf
- win10 请求操作需要提升解决方案
- FreeIPA FreeRadius FreeOTP 实现双因素认证登录
- 微信公众号订阅号开发的学习(二):获取用户发送的消息、简单的自动回复、自定义菜单
- STM32f429 CubeMx FreeRTOS emWin (Cubemx有BUG)
- Remote Dictionary Server(Redis)——基于 KV 结构的作为 Cache 使用的 NoSQL 数据库管理系统
- python和java对接数据的简单实现
热门文章
- Android Fragment add/replace以及backstack
- html textarea换行和dom换行
- oracle中生成大批量数据的方法-下
- Linux设备驱动剖析之IIC(四)
- 《这就是搜索引擎:核心技术详解》---读后感
- Spring学习框架图
- 信息检索技术——布尔检索
- 简释iptables防火墙
- Received status code 403 from server: ForbiddenDisable Gradle ‘offline mode‘ and sync project
- web前端学习day_04:jQuery框架