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

绵阳网站建设怎么做百度网站搜索排名

绵阳网站建设怎么做,百度网站搜索排名,怎么建立一个网站csdn,青岛建设银行银行招聘网站不使用第三方,不使用属性文件,不指定包名,获取整个系统中某一个接口所有的实现类,纯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/192974.html

相关文章:

  • 深圳做网站小程序网站优化排名推广
  • 企业做网站能赚钱么软文自助发稿平台
  • 做三角渐变用哪个网站百度app下载链接
  • wordpress首页短代码网站seo优化运营
  • 网站开发主要创新点新东方雅思培训机构官网
  • 淘宝网站的建设目的营销软文小短文
  • 外贸网站建设制作免费开发网站
  • 同ip网站过多是空间的原因还是域名的原因泰州网站排名seo
  • ext做的网站有那些建立网站
  • 品牌建设10步通达网络优化工资一般多少
  • 罗湖商城网站建设哪家好西安疫情最新数据
  • 深圳网站建设哪个公司号百度小说搜索风云榜总榜
  • 模板网站开发营销做销售找客户渠道
  • 网站开发价格 北京百度seo视频教程
  • 做外贸有哪些好的网站软文写手兼职
  • 新网站做优化要准备什么广点通投放平台登录
  • 男鞋 东莞网站建设网站手机优化
  • 学校网站建设说明优化大师app下载安装
  • 招聘网站数据分析要怎么做百度在线客服中心
  • 山西疫情最新消息今天新增20个小红书搜索优化
  • 电子商务项目策划书惠州百度seo找谁
  • 建一个网站需要网站程序吗北京百度seo工作室
  • 泉州市城乡和建设网站电商培训心得体会
  • 牛商网网站模板环球资源网官方网站
  • 用asp.net开发网站的优势太原最新情况
  • 申请渠道门户网站是什么意思全网推广平台
  • 做问卷赚钱网站好建站工具有哪些
  • 有哪些tp5做的网站网站关键词优化怎么弄
  • .net域名 可以做公司网站吗厦门seo总部电话
  • 连锁网站开发宁波seo网络推广定制