javaparser
作为开发人员,我们经常鄙视手动进行重复工作的人员。
我们认为, 他们应该实现这一目标 。
尽管如此,我们还是进行与编码有关的所有活动。 当然,我们使用的高级IDE可以为我们执行一些重构,但这基本上就结束了。 我们不品尝我们自己的药。
让我们改变一下。 让我们看看如何将代码编写为:
- 生成我们必须编写的无聊的重复性Java代码
- 分析我们的代码以回答有关它的一些问题
- 做一些代码处理和重构
好消息是,我们将使用一组库来实现所有这些功能:JavaParser和它的弟弟JavaSymbolSolver。
入门
好吧,这很简单:只需将JavaSymbolSolver添加到您的依赖项中即可。
什么是JavaSymbolSolver? 它是JavaParser的补充库,为它提供了一些非常强大的功能,这些功能对于回答关于代码的更复杂的问题是必需的。
JavaSymbolSolver依赖于JavaParser,因此您只需要添加JavaSymbolSolver,Maven或Gradle也会为您提供JavaParser。
我假设您知道如何使用Maven或Gradle。 如果您不喜欢,请停止阅读并开始学习!
使用javaparser生成代码
在几种情况下,您可能需要生成Java代码。 例如,您可能想基于一些外部数据生成代码,例如数据库架构或REST API。
您可能还需要将其他语言翻译成Java。 例如,我设计了用于生活的DSL,而当用户只能看到我为他们构建的DSL时,我经常在后台生成Java并将其编译。
有时候,您只想生成样板代码,就像我以前在使用JavaEE和所有这些层(谁能记住编写EJB的乏味?)时曾经使用过dp一样。
无论出于什么原因生成代码,都可以使用JavaParser。 JavaParser不会提出问题,它只是在帮助您。
让我们看看如何生成一个具有两个字段的类,一个构造函数和两个getter。 没什么特别先进的,但是它应该使您了解使用JavaParser进行代码生成的含义。
- CompilationUnit cu = new CompilationUnit();
-
- cu.setPackageDeclaration("jpexample.model");