Java 如何生成Spring WebMVC CRUD API

Java 如何生成Spring WebMVC CRUD API,java,spring,code-generation,Java,Spring,Code Generation,我想做的是从数据库表/Hibernate JPA实体创建一个完整的Spring WebMVC CRUD API,并将其添加到现有的Maven Web项目中。 确切地说,我想要生成的是: Spring WebMVC控制器(映射与实现) JPA实体(如果未提供)-ofc。使用大多数IDE内置的标准生成 Spring数据JPA存储库 可选地修改一些其他文件(例如,将实体添加到现有persistence.xml) 有这样的项目吗? 创造这样的东西最好的方法是什么? 我所想的是: 独立Java应用程

我想做的是从数据库表/Hibernate JPA实体创建一个完整的Spring WebMVC CRUD API,并将其添加到现有的Maven Web项目中。 确切地说,我想要生成的是:

  • Spring WebMVC控制器(映射与实现)
  • JPA实体(如果未提供)-ofc。使用大多数IDE内置的标准生成
  • Spring数据JPA存储库
  • 可选地修改一些其他文件(例如,将实体添加到现有persistence.xml)
有这样的项目吗? 创造这样的东西最好的方法是什么? 我所想的是:

  • 独立Java应用程序
  • Maven子生成器
  • Eclipse插件
  • 标准代码生成方法(f.e.Acceleo插件)
您有什么建议?

springroo()具有这些特性,如果您愿意,可以从您的项目中删除springroo,并保留为一个javaspring项目

链接中的示例:

roo> hint
roo> project --topLevelPackage com.foo
roo> jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY         
roo> entity jpa --class ~.Timer --testAutomatically
roo> field string --fieldName message --notNull
roo> hint web mvc
roo> web mvc setup
roo> web mvc all --package ~.web
roo> selenium test --controller ~.web.TimerController
roo> web gwt setup
roo> web gwt all --proxyPackage ~.client.proxy --requestPackage ~.client.request          
roo> perform tests
roo> quit
如您所见:创建项目、设置jpa提供程序、创建实体、创建MVC控制器、测试和一些GWT设置。

虽然将为您生成CRUD应用程序,但它生成的代码已经过时。如果我开始一个新项目,我肯定会远离它(至少在新版本发布之前)

我建议您看看哪一个应用程序将使用一些非常热门的技术(如Spring Boot、AngularJS等)生成CRUD应用程序


除了生成的代码的新颖性因素外,该项目的另一大特点是它非常活跃,这从部分答案中可以明显看出:


如果可以生成JPA实体和Spring数据JPA存储库,则可以使用将存储库公开为完整的CRUD REST API。

本教程中可能会给出响应:


您可以查看项目,该项目解释了如何使用生成:

  • CRUDRESTAPI
  • API的文档
  • HTML5/AngularJS CRUD管理UI
  • 如果使用Hibernate Envers审核实体,则Rest API用于检索审核信息和关联的单元测试
您需要提供的只是包含JPA实体的数据模型。

这很有帮助,其他部分(和存储库)很可能是通过SpringRoo生成的,或者如果我可以通过Maven子生成器来帮助生成的