聊聊Jhipster,强烈推荐Java开发看看,节省很多时间

「这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战」。

为什么想聊聊Jhipster呢?Jhipster我用了将近半年了,说说一些感受吧。

为什么要用Jhipster呢?Leader让用的呗,我开始用真的是不习惯,生成一堆文件,好多依赖,都不知道是干啥的。没办法啊,我又不是Leader,技术选型还轮不到我说了算,不习惯也要用啊,网上也找了相关资料,说真的,都不是很全。下面我们来聊聊Jhipster吧,你们可以去官网看看。

有些博主这方面讲的还是很不错的,如:zhuanlan.zhihu.com/c_100829618…

Jhipster的官网:www.jhipster.tech/

image-20211103223507935

在了解JHipster之前,首先明确几个误区:

1、JHipster不是框架,而算是Boilerplate。这个Boilerplate整合了前后端各种当前主流的技术、框架、工具、架构、代码规范、开发过程、最佳实践。当然JHipster也有自己的创新,例如JDL。

2、JHipster适合创建新的企业级应用。在4及以前的版本中,服务器端支持Hibernate,前端支持Angularjs/Angular,所以更适合做企业应用。又由于从JDL生成原型这个特性,JHipster不适合做已存在数据库表结构的系统,特别是原来的数据库设计非常不合理(命名不规范、表结构不合理、主外键约束不严格)的情况。

3、如果说Spring Boot给Java服务器端带来变革,让项目配置搭建更方便。那么JHipster就是一个跨越前后端的全栈Boot。

介绍

Jhipster这个名词可以拆开成:Java + hipster ,hipster是潮人的意思,加起来就是Java潮人? 没错,她所涉及的技术栈确实是紧跟时代潮流的。

那么她的具体定义是啥呢?用官网的话说:JHipster是一个开发平台,可以快速生成,开发和部署现代Web应用程序+微服务架构。

快速入门

1、安装 JavaGitNode.js

2、安装JHipster npm install -g generator-jhipster

3、创建一个新目录并进入 mkdir myApp && cd myApp

4、运行Jhipster并根据屏幕指示操作 jhipster

5、使用 JDL Studio 设计您的实体类后, 下载jhipster-jdl.jh文件

6、生成实体类代码 jhipster jdl jhipster-jdl.jh

1. What is the base name of your application? (您的应用程序的基础名是什么?)
 这是您应用程序的名称。
2. What is your default Java package name? (您的默认Java软件包名称是什么?)
 您的Java应用程序将以此为包的根名称。 
3. Do you want to use the JHipster Registry to configure, monitor and scale your application? 
JHipster Registry是一个开源工具,用于管理您在运行中的应用程序。可不选。
4. Which type of authentication would you like to use?
选择认证方式,如JWT,OAuth 2.0,HTTP会话等。
5. Which type of database would you like to use?
选择数据库类型,提供了sql的,nosql的,供你选择。
6. Which production database would you like to use?
您要使用哪个 生产 数据库
7. Which development database would you like to use? 
您要使用哪个 开发 数据库?一般选h2-disk
8. Do you want to use the Spring cache abstraction?
您是否要使用Spring抽象缓存?
9. Would you like to use Maven or Gradle?
您要使用Maven还是Gradle?
10. Which other technologies would you like to use?
您还想使用哪些其他技术?根据需要选择即可
11. Which Framework would you like to use for the client? 
您想为前端选择使用哪个框架 ?给出的选项是angular,react,vue
12. Would you like to use a Bootswatch theme? 
选择你想要使用的前端题。
13. Would you like to use the Sass stylesheet preprocessor for your CSS?
您想为CSS使用Sass样式表预处理器吗?
14. Which testing frameworks would you like to use? 
您想使用哪些测试框架?可选的是Gatling,Cucumber等。
15. Would you like to install other generators from the JHipster Marketplace?
您是否要从JHipster市场安装其他生成器? 选否就行。
复制代码

生成的结构目录大概如下图:

image-20211104090003360

视频教程

从0开始,5分钟创建一个Spring Boot + Angular/React应用

image-20211103224806684

结语

当我们写了很多代码之后,还去写很多的胶水代码其实就没多大意义了。我们完全可以借助一些工具,帮我们生产代码。解放我们的双手,释放我们的时间,或者只是单纯的投个懒,有何不可呢?当我们解放了更多的时间之后,可以将更多的时间关注在设计上关注在其他方面上。实际上,jhipster写的代码还是可以的,简单的crud应用完全没问题,他生成的和亲自去写是一样的。

我一直都说,从事软件开发,我们就是需要不断学习,感兴趣的可以尝试去用一用,还是非常不错的,具体怎么一步一步操作,网上教程很多,不感兴趣的可以直接跳过。从事 Java开发的小伙伴,我还是推荐你去学一下。