Qdox工具怎么用

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

创新互联建站服务项目包括托克托网站建设、托克托网站制作、托克托网页制作以及托克托网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,托克托网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到托克托省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

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

集成

目前最新版本2.0-M10
Maven


    com.thoughtworks.qdox
    qdox
    2.0-M10

Gradle

compile group: 'com.thoughtworks.qdox', name: 'qdox', version: '2.0-M10'
用法
package com.mini.test;

import java.util.Random;

/**
 * QDox 测试
 * @author: jujun chen
 * @date: 2019/07/07
 */
public class TestClass extends BaseTestClass implements Test{

    /**
     * 登录接口
     * @param userName 用户名
     * @param password 密码
     * @return Person对象
     */
    public Person Login(String userName, String password) {
        int age = new Random().nextInt();
        Person person = new Person(userName, password, age);
        System.out.println(person);
        return person;
    }
}

class Person {
    private String userName;
    private String password;
    private int age;

    public Person(String userName, String password, int age) {
        this.userName = userName;
        this.password = password;
        this.age = age;
    }
}

class 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 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 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 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 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 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工具怎么用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网站栏目:Qdox工具怎么用
文章位置:http://csdahua.cn/article/pssehg.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流