缘起
我是一个野生架构,喜欢广泛的技术,喜欢追逐技术的潮流。
目前Web最稳定、最广泛的开发方式应该是前后端分离架构,但是前后端分离开发涉及大量技术框架,最好有一个工具或框架来综合管理,帮助企业快速开发,降低成本。
然后JHipster就是这么个工具。国内用的不多,我玩的过程随手出了这个教程,也算是为开源界尽份薄力。
文档来源:
官网 https://www.jhipster.tech/
中文官网 https://www.jhipster-cn.tech/
源代码 https://github.com/jhipster
JHipster 简介
JHipster 是一个创建、开发、部署 Spring Boot + Angular/React 架构的 Web 应用或 Spring 微服务应用的开发平台。
可以几秒钟生成一个SpringBoot+Angular6的项目

我的理解:J+Hipster,Java技术栈+紧跟潮流的人;java技术栈下,web开发的一站式开发平台(工具),简化开发流程。毕竟:古人云:君子性非异也,善假于物也。嗯,就酱 :)
目标
- 帮助你生成复杂的 Web 应用或微服务应用架构
- 高可用、健壮的 JAVA 技术栈服务端 Spring Boot 程序
- 一个顺滑的、现代的、移动优先的前端 Angular,React 及 Bootstrap 程序架构
- 一个健壮的微服务架构包括:JHipster Registry, Netflix OSS, ELK stack 以及 Docker
- 强大的应用构建流程,使用:Yeoman, Webpack/Gulp 以及 Maven/Gradle
客户端技术栈支持

单页面应用:
- Angular or React
- 响应式页面设计: Twitter Bootstrap
- HTML5 Boilerplate
- 兼容 IE11 和更多主流浏览器 (Chrome, FireFox, Microsoft Edge…)
- 完整国际化支持
- 可选:Sass 支持 CSS 扩展
- 可选:使用 Spring Websocket 来支持 WebSocket 协议
开发流程:
- 使用 NPM 来安装额外的 JavaScript 库
- 使用 Webpack 编译、优化、热加载
- 使用 Jest, 以及 Protractor 进行测试
单页面应用还不能满足需要?
- 支持使用 Thymeleaf 模板引擎,来在服务端渲染页面
服务端技术栈支持

完整的 Spring 应用:
- 使用 Spring Boot 来简化应用配置
- 使用 Maven 或 Gradle 配置编译、测试、运行应用
- 使用 “development” 及 “production” profiles (同时支持 Maven 和 Gradle)
- 使用 Spring Security
- 使用 Spring MVC REST + Jackson
- 使用 Spring Websocket 支持 WebSocket 协议
- 使用 Spring Data JPA + Bean Validation
- 使用 Liquibase 管理数据库版本
- 使用 Elasticsearch 提供全文搜索引擎
- 使用 MongoDB 或 Couchbase 作为基于文档格式的 NoSQL 数据库而不是使用 JPA
- 使用 Cassandra 作为基于列对象的 NoSQL 数据库而不是使用 JPA
- 使用 Kafka 使用发布-分发消息系统
部署技术栈支持

CI/CD支持

微服务技术栈支持
微服务是可选的,同时也是完全支持的:
- HTTP 路由:Netflix Zuul 或 Traefik
- 服务发现: Netflix Eureka 或 HashiCorp Consul
生产环境准备
- 监控:Metrics 及 the ELK Stack
- 缓存:ehcache (本地缓存), hazelcast 或 Infinispan
- 优化静态资源 (gzip 过滤, HTTP cache headers)
- 日志管理:Logback, 可运行时配置
- 连接池管理:HikariCP 来优化性能
- 编译为标准 WAR 包或可执行 JAR 包
- 完整的 Docker 及 Docker Compose 支持
- 支持主流云平台:AWS, Cloud Foundry, Heroku, Kubernetes, OpenShift, Azure, Docker…
示例 & 源码
快速上手
环境要求:
快速开始
- 安装 JHipster
npm install -g generator-jhipster
- 创建目录,进入
mkdir myApp && cd myApp
- 执行 JHipster,根据提示设置应用
jhipster
- 使用 JDL Studio 编辑实体对象,下载
jhipster-jdl.jh
文件 - 使用命令
jhipster import-jdl jhipster-jdl.jh
来创建实体对象及相关类
网友评论