本文简单介绍Jhipster是什么,为何用Jhipster,怎么用Jhipster。html
WHAT - 技术栈
JHipster是什么
JHipster是一个开发平台,用于生成,开发,部署Spring Boot + Angular/React Web Application和Spring microservices。前端

JHipster能作什么
JHipster能够自动化生成一个完整和现代的Web应用程序或微服务架构。git
- 基于Spring Boot框架的服务端,具有高性能和高可用的Java技术栈;
- 基于Angular,React和Bootstrap的时尚,现代,移动优先的前端;
- 基于JHipster Registry,Netflix OSS,ELK堆栈和Docker的强大的微服务架构;
- 使用Yeoman,Webpack和Maven/Gradle构建应用程序的强大工做流程。
JHipster开发效率
以10个微服务,每一个微服务包含1个数据表和4个UI界面(基本CURD界面)的开发规模为例:github
工做项 |
人工开发(人天) |
JHipster开发(人天) |
数据库建表 |
1 |
0 |
项目建立及配置文件编写 |
2 |
0 |
开发CURD代码 |
5 |
1 |
开发前端UI |
10 |
1 |
合计: |
18 |
2 |
在实际项目中由于定制化工做的须要,开发效率的差距会比这个小,但正常状况下减小一半以上的工做量是能够达到的。docker
前端技术栈
- Angular 5和React
- Bootstrap响应式网页设计
- HTML5
- 国际化
- CSS的Sass
- WebSocket
- 使用Yarn安装新的JavaScript库
- 使用Webpack构建,优化和实时加载
- 使用Jest和Protractor进行测试
- 支持Thymeleaf模板引擎
后端技术栈
- Spring Boot
- Maven和Gradle
- Spring Security
- Spring MVC REST + Jackson
- Spring Websocket
- Spring Data JPA
- Liquibase
- Elasticsearch
- MongoDB和Couchbase
- Cassandra
- Kafka
微服务技术栈
- 使用Netflix Zuul或Traefik做为HTTP路由
- 使用Netflix Eureka或HashiCorp Consul做为服务发现
- 使用Spring Cloud Config做为统一配置
CI/CD支持
- Jenkins
- Travis CI
- GitLab CI
- Circle CI
部署环境支持
- 使用ELK堆栈进行应用指标监控
- 使用ehcache,hazelcast或Infinispan进行缓存
- 优化的静态资源(gzip过滤器,HTTP缓存头)
- 使用Logback进行日志管理,可在运行时进行配置
- 使用HikariCP链接池以得到最佳性能
- 构建标准WAR文件或可执行JAR文件
- 完整的Docker和Docker-Compse支持
- 支持全部主要云提供商:AWS,Cloud Foundry,Heroku,Kubernetes,OpenShift,Docker等
哪些公司在用

WHY - 方法和实践
复杂架构设计的思路

业界对JHipster的评价
- DDD(领域驱动设计)的最佳实践
- 微服务架构的最佳实践
- 敏捷开发的最佳实践
- DevOps的最佳实践
HOW - 应用场景
标准化的数据访问服务
场景 |
经过JHipster生成标准化的数据访问微服务(简称DAMS),DAMS与数据库直接交互,提供Restful API给上层业务微服务调用。 |
效果 |
工程代码规范的标准化,标准代码开发的自动化,隔离业务逻辑和数据访问逻辑。 |
实现 |
现有JHipster功能便可知足。 |
客户项目的定制开发
场景 |
定制化开发工做,经过JHipster自动生成骨干代码,后期数据库设计变动,也可经过JHipster自动化更新代码。 |
效果 |
提升开发效率和代码质量,下降项目成本。 |
实现 |
现有JHipster功能便可知足。 |
开放平台和应用市场
场景 |
开发人员编写业务领域模型,JHipster自动生成后端微服务和前端UI。 |
效果 |
做为一种PaaS服务能力提供给开发者。 |
实现 |
需定制化JHipster源码。 |
GOAL - 目标和价值

参考资料
Web Site:https://www.jhipster.tech
JHipster Online:https://start.jhipster.tech/
Github:https://github.com/jhipster/generator-jhipster
Docker:https://store.docker.com/search?q=jhipster&source=community&type=image数据库
相关文章
JHipster生成单体架构的应用示例
JHipster生成微服务架构的应用栈后端