领先一步
VMware 提供培训和认证,助您加速进步。
了解更多这篇博文是来自社区成员 Julien Dubois (@juliendubois) 的客座博文,他曾是 SpringSource 的一名员工,现任 Ippon Technologies 的职员,也是 JHipster 项目的创建者。感谢 Julien!我希望看到更多这样的客座博文,所以,一如既往,请随时 联系我 (@starbuxman)!- Josh

JHipster,或称“Java Hipster”,是一个方便的应用程序生成器,它可以为你创建一个 Spring Boot(这是 Java 部分)和 AngularJS(这是时髦的部分)应用程序。
在极短的时间内,JHipster 在 Github 上迅速走红,并且曾被在线杂志(如 InfoQ、Infoworld 或 SD Times)以及世界各地的会议(巴黎、伦敦、蒙特利尔、奥马哈、台北、里士满、法兰克福!)报道。
JHipster 专注于生成高质量的应用程序,它拥有一个使用广泛的 Spring 技术栈的 Java 后端;包括 Spring Boot、Spring Security、Spring Data、Spring MVC(提供 WebSocket、REST 和 MVC 框架)等。前端则采用 Angular.js,并集成了一套预配置的开发工具,如 Yeoman、Maven、Gradle、Grunt、Gulp.js 和 Bower。JHipster 创建了一个完全配置好的 Spring Boot 应用程序,包含用户管理、监控和日志记录的预定义屏幕。生成的 Spring Boot 应用程序特别为与 Angular.js 的协同工作进行了优化,以提供更流畅的体验。
JHipster 为您提供了更新、管理和打包生成应用程序的工具。运行 mvn package -Pprod 可以触发一个 Maven 构建,该构建使用 Spring Boot Maven 插件创建一个单一的可执行 .war 文件,并运行 Grunt 或 Gulp.js 任务来测试、最小化和优化 JavaScript、HTML 和 CSS 代码。
JHipster 使用 Node.js 和 Yeoman 来生成应用程序,并使用 Java 和 Maven(或 Gradle)来运行生成的应用程序。您可以在 在线文档 中找到最新的入门指南。
请观看以下视频,了解如何创建 JHipster 应用程序,并使用提供的工具集修改和改进生成的代码。
生成的应用程序可能会因您创建时选择的选项而有很大差异。例如,如果您选择了 MongoDB 而不是 MySQL,您的 Spring Data 存储库将有所不同。如果您选择了“Java 8”而不是 Java 7,则生成的代码中将包含 Lambda 表达式。无论您做出何种选择,最终的应用程序都将共享相似的架构和基本代码库。
让我们来看看最终应用程序的一些关键特性
src/main/java 目录下的 config 包中包含 Spring Boot 配置类。JHipster 使用 Spring 的 Java 配置,不包含 XML 配置。domain 包中的 JPA 实体或 MongoDB 文档类。JPA 实体配置了缓存和自动生成的**主键**。如果您使用 JHipster 生成 JPA 实体,它可以创建一对多和多对多的关系。repository 包中的(小型)Spring Data 存储库。service 层包含常规的 @Service-bean。这些服务通常是事务性的、经过安全保护的业务对象。web.rest 包中,使用 Spring MVC 的 REST 支持创建。JHipster 是一个很棒的应用程序启动器,但一旦您生成了应用程序并在 JPA 实体之上添加了一些 CRUD Angular.JS 屏幕,您就需要开始编写代码了。
JHipster 项目最终只是基于 Spring Boot 的简单 Maven 和 Gradle 项目,可以导入任何了解 Maven(或 Gradle)和 Java 的 IDE。
JHipster 提供了命令行工具来构建和更新您的应用程序。Grunt 或 Gulp.js 帮助您构建前端。例如,运行 grunt serve 将启动一个由 Grunt 管理的浏览器,当您的任何 HTML、JavaScript 或 CSS 代码发生更改时,它将自动重新加载。Bower 允许您升级或安装 JavaScript 或 CSS 库。例如,运行 bower install ng-table 将会安装 ng-table。
您可以使用 Spring Boot Maven 插件(或 Gradle 插件)从命令行运行您的 Spring Boot 应用程序:mvn spring-boot:run。您可以使用 Maven Liquibase diff 命令来自动生成 Liquibase 变更集。运行 mvn liquibase:diff 将会检查您现有的数据库模式与您当前(已修改)的 JPA 代码,并生成必要的 Liquibase 变更集文件,以便自动更新您的数据库模式。
您可以使用 Docker 来设置您的开发环境。这对于一些高级用户(尤其是 Linux 用户)来说可能更简单,并且如果您有一个开发团队,它将允许您拥有一个一致的工作环境。为此创建了一个专门的 jhipster-docker 项目。有关更多详细信息,请查看 JHipster 安装文档页面。
JHipster 应用程序预置了一个名为 admin 的用户,该用户拥有对多个*管理*屏幕的访问权限。最值得关注的三个屏幕是 API 屏幕(使用 Swagger 生成)、指标屏幕和日志屏幕。API 屏幕记录了您的 Spring Boot 应用程序的 REST API,并简化了与使用 Angular.js 的前端开发人员的协作。指标屏幕使用 Dropwizard Metrics,为您提供有关应用程序性能的详细信息,包括 Spring bean 方法的性能。日志屏幕使用 Logback,允许您在运行时更改日志级别。例如,您可以更改 Spring Security 的日志级别,以获取有关安全配置的详细信息。
JHipster 具有 development 和 production 模式。production 模式提供了一个经过最小化和优化的前端、GZip 压缩、HTTP 缓存等。为了测试 production 模式,请使用 prod 配置文件运行您的应用程序(Maven 或 Gradle 都可用):mvn spring-boot:run -Pprod。使用 Chrome 开发者工具,您可以审计生成的应用程序以检查性能。
JHipster 提供了一个 Cloud Foundry 子生成器,可以轻松地将应用程序部署到 Cloud Foundry:yo jhipster:cloudfoundry。这会创建一个 Cloud Foundry 应用程序,创建一个数据库(支持 MySQL、PostgreSQL 和 MongoDB),然后将数据库绑定到应用程序,并将应用程序上传(cf push)到 Cloud Foundry。
JHipster 以更少的步骤带您走得更远。如果您想了解更多信息,请访问 JHipster 网站、JHipster Github 页面,并 在 Twitter 上关注 @java_hipster。