当前位置: 首页 > wzjs >正文

电子表格做网站框架资源网站排名优化seo

电子表格做网站框架,资源网站排名优化seo,新手 网站建设 书籍,全国app开发不使用第三方,不使用属性文件,不指定包名,获取整个系统中某一个接口所有的实现类,纯Java实现 /*** 类查找器,用于扫描类路径中的所有类,并找出指定类的实现类。* 该类通过递归扫描类路径下的所有 .class 文件&#xf…

不使用第三方,不使用属性文件,不指定包名,获取整个系统中某一个接口所有的实现类,纯Java实现

/*** 类查找器,用于扫描类路径中的所有类,并找出指定类的实现类。* 该类通过递归扫描类路径下的所有 .class 文件,加载并判断是否为目标类的实现类。*/
public class ClassFinder {/*** 获取指定类的所有实现类(非接口本身)。* 从类路径根目录开始扫描,使用当前线程的类加载器获取资源路径。** @param clazz 要查找实现类的目标类(通常是抽象类或接口)* @return 返回目标类的所有实现类组成的列表*/public static List<Class<?>> getImplementationsOfMyService(Class<?> clazz) {List<Class<?>> implementations = new ArrayList<>();// 设置为空字符串表示从类路径根开始扫描String packageName = "";// 使用当前线程的类加载器加载类资源ClassLoader classLoader = Thread.currentThread().getContextClassLoader();Enumeration<URL> resources = null;try {// 获取类路径下对应包名的资源路径(转换为文件系统路径格式)resources = classLoader.getResources(packageName.replace('.', '/'));while (resources.hasMoreElements()) {URL resource = resources.nextElement();File file = new File(resource.getFile());// 开始递归扫描该目录下的类文件scanDirectory(clazz, file, "", implementations);}} catch (IOException e) {e.printStackTrace();}return implementations;}/*** 递归扫描目录及其子目录中的类文件。* 对每个类文件进行加载并判断是否是目标类的实现类。** @param clazz 目标类(要查找其实现类)* @param dir 当前扫描的目录* @param pkg 当前目录对应的包名前缀* @param list 存储符合条件的实现类*/private static void scanDirectory(Class<?> clazz, File dir, String pkg, List<Class<?>> list) {if (!dir.exists()) return;for (File file : Objects.requireNonNull(dir.listFiles())) {if (file.isDirectory()) {// 如果是目录,递归进入子目录继续扫描scanDirectory(clazz, file, pkg + file.getName() + ".", list);} else if (file.getName().endsWith(".class")) {// 构建完整的类名(包含包名)String className = pkg + file.getName().replace(".class", "");try {// 加载类Class<?> tmp = Class.forName(className);// 判断是否为目标类的实现类,并排除接口类型if (clazz.isAssignableFrom(tmp) && !tmp.isInterface()) {list.add(tmp);}} catch (Exception ignored) {// 忽略加载失败的类}}}}// 测试入口:演示如何使用ClassFinder查找AnnotationHandler接口的实现类public static void main(String[] args) throws Exception {// 查找AnnotationHandler接口的所有实现类List<Class<?>> classes = getImplementationsOfMyService(AnnotationHandler.class);System.out.println("找到以下实现类:");for (Class<?> c : classes) {System.out.println(c.getName());}}
}
http://www.dtcms.com/wzjs/152653.html

相关文章:

  • wordpress qq 注册网站seo综合查询
  • 教育系统网站备案河北网站建设制作
  • 什么专业会做网站app开发需要多少费用
  • 设计网站公司选泽y湖南岚鸿询 问网络推广搜索引擎
  • wordpress 众筹模板百度推广怎么优化排名
  • 运转灵活小企业网站建设友情链接怎么互换
  • 哪些公司可以做网站新手怎么入行seo
  • 怎么上传做 好的网站seo培训教程
  • 政府舆情管理和网站建设手机优化是什么意思
  • 中高端网站建设公司公司官网搭建
  • 奎屯网站制作天津关键词排名推广
  • 福州网站建设推广平台火星时代教育培训机构怎么样
  • 1 设计一个企业网站今天最新军事新闻视频
  • 住建城乡建设网站怎么做一个网站平台
  • 南通专业网站排名推广百度发广告怎么发
  • 欢迎进入河南国安建设集团有限公司网站seo如何优化图片
  • 做网站用盗版PS路由器优化大师
  • 动态网站开发考证admin5站长网
  • dw网站建设视频下载免费数据查询网站
  • 昆明网站快速优化排名肇庆网站建设
  • 网站建设属于营业范围里的哪一项百度竞价排名模式
  • bootstrap 案例网站湖南网站推广优化
  • 网站 宽屏窄屏自适应直链平台
  • 写网站软件网络营销计划书怎么写
  • 软文营销把什么放在第一位什么是seo如何进行seo
  • 新乡网站开发的公司电话seo体系百科
  • 湛江网站制作百度seo优化公司
  • 做网站app 需要多少钱自己怎么做网页推广
  • 惠州网站制作软件软文推广文章范文1000
  • 开发网站商城舆情分析