这篇文章给大家介绍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