Qdox工具怎么用

技术Qdox工具怎么用这篇文章给大家介绍Qdox工具怎么用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。QDox 一款简单,高效的Java源代码解析器,可以提取Java类、接口、方法、参数名称、类型

这篇文章给大家介绍Qdox工具怎么用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

QDox一款简单,高效的爪哇源代码解析器,可以提取爪哇类、接口、方法、参数名称、类型等。简单介绍一下怎么用。

集成

目前最新版本2.0-M10

专家

属国

groupIdcom.thoughtworks.qdox/groupId

artifactIdqdox/artifactId

2.0版-M10/版

/dependencyGradle

compilegroup : ' com。思想工作。qdox ',名称为:'qdox ',版本为: ' 2.0-M10 '

用法

package com。迷你。测试;

导入Java。乌提尔。随机的;

/**

*QDox测试

* @作者: juchinchen

*@date:2019/07/07

*/

公共类testclassextendbase test class implementstest {

/**

*登录接口

*@paramuserName用户名

*@parampassword密码

*@returnPerson对象

*/

公众人物登录(字符串用户名,字符串密码){ 0

intage=newRandom().nextInt();

Personperson=newPerson(用户名、密码、年龄);

系统。出去。println(人);

返回者;

}

}

classPerson{

privateStringuserName

privateStringpassword

私人占有;

publicPerson(StringuserName,Stringpassword,intage){ 0

this.userName=用户名;

this.password=password

this.age=年龄;

}

}

类别

bsp;BaseTestClass {
}
interface Test {
}

测试:

@Test
    public void getMeClass() throws IOException {
        JavaProjectBuilder builder =  new  JavaProjectBuilder();
        builder.addSourceTree(new File("src/main/java/com/mini/test"));
        //目录下的所有class
        System.out.println("====目录下的所有class====");
        Collection<JavaClass> classes = builder.getClasses();
        System.out.println(classes + "\n");
        //根据class全限定名获取
        JavaClass javaClass = builder.getClassByName("com.mini.test.TestClass");
        //获取类的注释
        System.out.println("====获取类的注释====");
        System.out.println(javaClass.getComment());
        List<DocletTag> classTags = javaClass.getTags();
        classTags.forEach(item -> {
            System.out.println(item.getName() + "" + item.getValue());
        });
        System.out.println("\n");
        //获取继承的父类
        System.out.println("====获取继承的父类====");
        System.out.println(javaClass.getSuperClass() + "\n");
        //获取接口
        System.out.println("====获取接口====");
        System.out.println(javaClass.getImplements() + "\n");
        //获取方法
        System.out.println("====获取方法====");
        List<JavaMethod> methods = javaClass.getMethods();
        System.out.println(methods + "\n");
        //get Login方法
        JavaMethod javaMethod = methods.get(0);
        //方法返回类型
        System.out.println("====获取方法返回类型====");
        System.out.println(javaMethod.getReturns() + "\n");
        //获取参数
        System.out.println("====获取参数====");
        List<JavaParameter> parameters = javaMethod.getParameters();
        System.out.println(parameters);
        //获取参数类型
        //get userName参数
        JavaParameter parameter = parameters.get(0);
        //参数名称
        System.out.println(parameter.getName());
        //参数类型
        System.out.println(parameter.getType() + "\n");
        System.out.println("====获取方法注释====");
        //获取方法注释
        System.out.println(javaMethod.getComment());
        //获取参数备注
        List<DocletTag> tags  =javaMethod.getTags();
        tags.forEach(item -> {
            System.out.println(item.getName() + ":" + item.getValue());
        });
    }

测试结果:

====目录下的所有class====
[class com.mini.test.TestClass, class com.mini.test.Person, class com.mini.test.BaseTestClass, interface com.mini.test.Test]
====获取类的注释====
QDox 测试
author:jujun chen
date:2019/07/07
====获取继承的父类====
com.mini.test.BaseTestClass
====获取接口====
[com.mini.test.Test]
====获取方法====
[public com.mini.test.Person com.mini.test.TestClass.Login(java.lang.String,java.lang.String)]
====获取方法返回类型====
com.mini.test.Person
====获取参数====
[String userName, String password]
userName
java.lang.String
====获取方法注释====
登录接口
param:userName 用户名
param:password 密码
return:Person对象

使用该工具,可以解析Java源代码,很方便,速度也很快。脑洞一下吧,可以利用它来做点什么,提高生产力。

关于Qdox工具怎么用就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/37096.html

(0)

相关推荐

  • 什么是香港云服务器

    技术什么是香港云服务器在某种程度上,香港云服务器在使用体验上类似于物理服务器,只是它带有虚拟化。使用云服务器和物理服务器一样都是通过远程桌面或者ssh客户端进行连接来操作和管理服务器。另一方面,云服务器的架构方式不同于V

    礼包 2021年10月26日
  • MySQL基础面试题有哪些

    技术MySQL基础面试题有哪些本篇内容主要讲解“MySQL基础面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL基础面试题有哪些”吧!关系型数据库什么是关系

    攻略 2021年10月22日
  • 高级语言中的语句在汇编中是怎么实现的

    技术高级语言中的语句在汇编中是怎么实现的这篇文章主要介绍“高级语言中的语句在汇编中是怎么实现的”,在日常操作中,相信很多人在高级语言中的语句在汇编中是怎么实现的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法

    攻略 2021年10月22日
  • 狗狗来大姨妈,母狗狗也会来“大姨妈”

    技术狗狗来大姨妈,母狗狗也会来“大姨妈”会滴,会滴,只要是母的狗,都会来红色朋友狗狗来大姨妈。嗯,红色朋友,就是大家指的大姨妈。母狗,在长到六七个月的时候就会来红色朋友。在狗狗的世界里,这叫做发情期啦!狗狗发情期一般是十

    生活 2021年10月29日
  • sqlite如何设置列的取值范围(sqlite数据库怎么添加权限)

    技术SQLite添加列的限制有哪些这篇文章主要为大家展示了“SQLite添加列的限制有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQLite添加列的限制有哪些”这篇文

    攻略 2021年12月17日
  • oradb启动时报错ORA-01261&&ORA-00202怎么办

    技术oradb启动时报错ORA-01261&&ORA-00202怎么办小编给大家分享一下oradb启动时报错ORA-01261&&ORA-00202怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

    攻略 2021年11月17日