有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java有没有一种方法可以使用静态代码分析来确定某一类型的所有字段是否都有注释?

我有一些POJO,用于在我的应用程序及其Web服务中移动数据。我们刚刚引入了一个注释,以帮助我们验证这些POJO中的字符串字段是否具有一定的长度。这使我们能够验证POJO,而不是等待数据库层在异常持续时抛出异常

我现在想对这些对象进行分析,告诉我哪些字段是没有这个新注释的字符串。我想这样做,这样我就可以得到一个没有这个注释的字段列表,这样就可以将它与对应的DB字段进行比较,并将注释添加到正确的长度作为其参数

不,我们无法在POJO和数据库对象之间获得更好的相关性

不,我们的数据库对象没有此验证。我们真的希望在POJO上进行这种验证,因为在运行时验证和报告无效数据更简单

是否有一些静态分析工具可以帮助我完成这项任务


共 (1) 个答案

  1. # 1 楼答案

    我选择使用注释来满足运行时验证需求,然后编写了一个单元测试来验证所有字段都已注释。这是受@c0mrade启发的

    所以注释是@Length,需要一个整数参数。在运行时,验证器遍历字段,查找@Length注释,并确保其应用于字符串字段。然后查看字符串值的长度,并确保其小于或等于注释的参数

    在单元测试中,我按包加载POJO的所有类。然后我迭代这些类,迭代每个类字段,最后检查字段是否是字符串,是否分配了@Length注释。如果字段是字符串且没有@Length,则会将类和字段名添加到字符串列表中。测试的断言是该列表为空