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)

相关推荐

  • 野径云俱黑,野径云俱黑江船火独明的意思

    技术野径云俱黑,野径云俱黑江船火独明的意思这句话是杜甫的诗《春夜喜雨》中的句子,是描写雨中的夜色.是写实的句子,意思是说野径云俱黑:田野里的小路也跟云一样黑沉沉的,只有江里的船上灯火是明的.喜的是雨意之浓,从视觉角度描写

    生活 2021年10月23日
  • Java基础篇之如何使用日期与时间API技术

    技术Java基础篇之如何使用日期与时间API技术这篇文章主要介绍“Java基础篇之如何使用日期与时间API技术”,在日常操作中,相信很多人在Java基础篇之如何使用日期与时间API技术问题上存在疑惑,小编查阅了各式资料,

    攻略 2021年10月19日
  • 怎么运行docker容器

    技术怎么运行docker容器本篇内容介绍了“怎么运行docker容器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 首先

    攻略 2021年12月13日
  • Oracle 12c R2版本 Application Containers的特性是什么

    技术Oracle 12c R2版本 Application Containers的特性是什么本篇文章给大家分享的是有关Oracle 12c R2版本 Application Containers的特性是什么,小编觉得挺实

    攻略 2021年11月12日
  • 变脸是什么剧,究竟什么样的脸才称得上剧抛脸

    技术变脸是什么剧,究竟什么样的脸才称得上剧抛脸我觉得剧抛脸可以提名任嘉伦变脸是什么剧。所谓的剧抛脸就是同一个演员,他在演任何一部戏的时候没有他本人的影子。也没有他上一部作品的影子,演的就是这部作品中的角色。每演一部作品不

    生活 2021年10月29日
  • 怎么解决Oracle数据库中未清空磁盘被添加到磁盘组触发坏块问题

    技术怎么解决Oracle数据库中未清空磁盘被添加到磁盘组触发坏块问题这篇文章主要介绍“怎么解决Oracle数据库中未清空磁盘被添加到磁盘组触发坏块问题”,在日常操作中,相信很多人在怎么解决Oracle数据库中未清空磁盘被

    攻略 2021年11月5日