Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java代码生成_Java_Code Generation - Fatal编程技术网

Java代码生成

Java代码生成,java,code-generation,Java,Code Generation,java代码生成的主流框架是什么 我不是在寻找数据库或应用程序生成工具。我有一个类的框架,我需要为不同的用例生成不同的动态部分。该类的大部分是相同的,因此我希望运行生成不同风格的类的代码 有人知道一个好的框架吗 谢谢。 请注意,这些实用程序主要用于通过生成样板代码来启动项目。从DB模式生成数据库CRUD代码。是一个功能强大、高性能和高质量的代码生成库 正在使用模板 如果您希望生成一个完整的应用程序签出框架。[SQL2JAVA]是一个很好的工具。它为数据库架构生成所有[CRUD]代码。它的连

java代码生成的主流框架是什么

我不是在寻找数据库或应用程序生成工具。我有一个类的框架,我需要为不同的用例生成不同的动态部分。该类的大部分是相同的,因此我希望运行生成不同风格的类的代码

有人知道一个好的框架吗

谢谢。

请注意,这些实用程序主要用于通过生成样板代码来启动项目。

从DB模式生成数据库CRUD代码。

是一个功能强大、高性能和高质量的代码生成库

正在使用模板


如果您希望生成一个完整的应用程序签出框架。

[SQL2JAVA]是一个很好的工具。它为数据库架构生成所有[CRUD]代码。它的连接池不够好,您可以自定义它的管理器类来维护您自己的池

除此之外,如果您对模型驱动的开发感兴趣(MDD),您可以使用[AndroMDA]或[Borland's合在一起],这是最好的基于[eclipse]的工具之一

如果您对代码生成和模型驱动软件开发感兴趣,您应该看看[openArchitectureWare]

其他支持代码生成的java开发工具有[Lombok]和[Spoon]。ProjectLombok提供了诸如自动生成默认getter/setter方法、自动资源管理(使用@Cleanup annotation)和注释驱动的异常处理等功能

[cglib]、[Velocity template]和[AppFuse]也很棒。

我认为这是最流行的Java字节码生成库。它是最低级的字节码库,但也有其他更高级的代码生成库是基于ASM构建的,尽管直接使用ASM也不太难(直接使用ASM的一个好处是ASM的JAR大小非常小)。ASM的一些用户在


编辑:


对于更新后的问题,其中提到了用例(“我有一个类的框架,我需要为不同的用例生成不同的动态部分。”),我的答案是改进设计,以便消除所有代码重复,不需要生成代码。阅读不同的设计模式可以提供一些如何做到这一点的想法。要获得更具体的答案,您需要显示一些代码并更具体地说明您的需求。

我使用了Druid数据库管理器:

它从db开始,db可以进行反向工程,它可以基于表和字段生成文档、sql、类和文件

使用的模板语言是velocity

该软件可通过插件系统进行扩展。

AtomWeaver现在已进入公测。它是一个代码生成IDE,可以与当前的IDE一起使用(因此,它不是框架,而是一个独立的应用程序)。使用它,您可以生成样板代码,但也可以生成完整的项目

AtomWeaver实现ABSE(基于原子的软件工程),这是一种模型驱动的软件开发形式(与UML或MDA无关)

它本质上是一个基于模板的系统。

AndroMDA(发音为:andromeda)是一个遵循模型驱动架构(Model Driven Architecture,MDA)范式的开源代码生成框架。它从CASE工具获取模型,并生成完全可部署的应用程序和其他组件


我用过它,它很强大。它不仅从UML生成配置文件和代码,只留给开发人员要开发的业务方法的实现,而且还通过使用众所周知的dessing模式来维护生成的代码。

Try Xtext()。使用XText定义DSL,XText将生成支持此DSL的Eclipse编辑器。然后,您可以使用XPand定义模板来生成所有类型的文本(例如java源代码)。

另一个投票给Velocity模板引擎。我在多个项目中使用过它,用于生成EJB2.1样板代码、数据库对象等。效果很好,也很容易学习。

您是想做一些特定的事情,还是这只是获取另一个框架列表的一种方式?@Brent您提供的链接似乎不利于代码生成(因为它的标题)但事实上,这是一种讨论,其中反对它的论据数量与favorIMO中的论据数量大致相同,APT最大的问题是缺乏一种生成代码的好方法。我正在寻找一种基于模板的生成工具。但从易于编程的角度来看,这是一个PITA,从某种意义上说,生成源代码更容易。这取决于您需要做什么。字节码生成也可以在运行时完成,并且可以用来修改现有类,因此生成源文件的功能更强大;不是编译。ASM的级别太低,无法满足要求。字节码也是代码。生成字节码不是编译,因为编译意味着将一种高级语言转换为另一种语言()-当没有正在转换的源语言时,它不是编译。JUnit/EasyMock使用cglib,所以可能已经包含在用户项目中[为什么]在[事物]周围放[括号]?:)