前言
为什么想聊聊Jhipster呢?Jhipster我用了将近半年了,说说一些感受吧。
为什么要用Jhipster呢?Leader让用的呗,我开始用真的是不习惯,生成一堆文件,好多依赖,都不知道是干啥的。没办法啊,我又不是Leader,技术选型还轮不到我说了算,不习惯也要用啊,网上也找了相关资料,说真的,都不是很全。下面我们来聊聊Jhipster吧,你们可以去官网看看。
有些博主这方面讲的还是很不错的,如:https://zhuanlan.zhihu.com/c_1008296180270391296
Jhipster的官网:https://www.jhipster.tech/
在了解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、安装 Java、 Git 和 Node.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.Whatisthebasenameofyourapplication?(您的应用程序的基础名是什么?)这是您应用程序的名称。2.WhatisyourdefaultJavapackagename?(您的默认Java软件包名称是什么?)您的Java应用程序将以此为包的根名称。3.DoyouwanttousetheJHipsterRegistrytoconfigure,monitorandscaleyourapplication?JHipsterRegistry是一个开源工具,用于管理您在运行中的应用程序。可不选。4.Whichtypeofauthenticationwouldyouliketouse?选择认证方式,如JWT,OAuth2.0,HTTP会话等。5.Whichtypeofdatabasewouldyouliketouse?选择数据库类型,提供了sql的,nosql的,供你选择。6.Whichproductiondatabasewouldyouliketouse?您要使用哪个生产数据库7.Whichdevelopmentdatabasewouldyouliketouse?您要使用哪个开发数据库?一般选h2-disk8.DoyouwanttousetheSpringcacheabstraction?您是否要使用Spring抽象缓存?9.WouldyouliketouseMavenorGradle?您要使用Maven还是Gradle?10.Whichothertechnologieswouldyouliketouse?您还想使用哪些其他技术?根据需要选择即可11.WhichFrameworkwouldyouliketousefortheclient?您想为前端选择使用哪个框架?给出的选项是angular,react,vue12.WouldyouliketouseaBootswatchtheme?选择你想要使用的前端题。13.WouldyouliketousetheSassstylesheetpreprocessorforyourCSS?您想为CSS使用Sass样式表预处理器吗?14.Whichtestingframeworkswouldyouliketouse?您想使用哪些测试框架?可选的是Gatling,Cucumber等。15.WouldyouliketoinstallothergeneratorsfromtheJHipsterMarketplace?您是否要从JHipster市场安装其他生成器?选否就行。
生成的结构目录大概如下图:
视频教程
从0开始,5分钟创建一个Spring Boot + Angular/React应用
结语
当我们写了很多代码之后,还去写很多的胶水代码其实就没多大意义了。我们完全可以借助一些工具,帮我们生产代码。解放我们的双手,释放我们的时间,或者只是单纯的投个懒,有何不可呢?当我们解放了更多的时间之后,可以将更多的时间关注在设计上关注在其他方面上。实际上,jhipster写的代码还是可以的,简单的crud应用完全没问题,他生成的和亲自去写是一样的。
我一直都说,从事软件开发,我们就是需要不断学习,感兴趣的可以尝试去用一用,还是非常不错的,具体怎么一步一步操作,网上教程很多,不感兴趣的可以直接跳过。从事 Java开发的小伙伴,我还是推荐你去学一下。