快速开始jhipster

  快速开始jhipster

  1. 前期准备:

1.1安装JDK1.8(环境变量配置)

1.2安装java创建工具Maven(环境变量配置)

1.3在官网安装git(安装及配置)

1.4.在官网安装Node.js(TLS版),安装nodejs时,同时也会一并安装npm。

1.5.安装Yeoman,在dos窗口通过命令:npm install -g yo.

1.6.安装bower:npm install -g bower.

1.7.安装Grunt(推荐):npm install -g grunt-cli或者Gulp.js:npm install -g gulp.

1.8.最后,安装jhipster:npm install -g generator-jhipster

1.9.配置国内镜像:nrm: npm install -g nrm

2.0.使用mysql,因此安装配置好mysql数据库。

        2.1安装步骤地址:https://www.cnblogs.com/laumians-notes/p/9069498.html

  1. 安装介绍:

2.1 AngularJs:AngularJS 是一个 JavaScript 框架

2.2 Yarn:新一代前端框架,

2.3 Webpack:分析其项目结构,找到JavaScript模块及其他的一些浏览器不能直接运行的拓展语言(SCSS、TypeScript等),并将其打包为合适的格式浏览器使用.

2.4 Bower:Bower是一个客户端技术的软件包管理器,可用于搜索、安装和卸载如JavaScript、HTML、css之类的网络资源。其他一些建立在Bower基础上的开发工具有Yeoman和Grunt

2.5 Yeoman:Yeoman主要有三部分组成:yo(脚手架工具)、grunt(构建工具)、bower(包管理器)。这三个工具是分别独立开发的,但是需要配合使用,来实现我们高效的工作流模式。

2.6 Grunt:Grunt作为node.js上的重要前端工具,利用插件可以实现资源的合并、压缩、复制、生成文档、测试等功能。

2.7 Gulp:Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务:搭建web服务器,文件保存时自动重载浏览器,使用预处理器如Sass、LESS 优化资源,比如压缩CSS、JavaScript、压缩图片

2.8Sass:Sass是对css的扩展,让css语言更强大

  1. 安装方式:

          3.1在线使用:

地址为:https://start.jhipster.tech/#/。在右上角注册并绑定github,就可以直接用在线方式生成相应的程序代码,然后从github上生成获取的代码信息。不需要在本地安装任何东西。

          3.2本地使用Yarn:

             3.2.1安装jdk,安装NodeJs,必须使用LTS版本

             3.2.2 Yarn 网址:https://yarnpkg.com/en/docs/install

             3.2.3 安装Bower,使用yarn global add Bower

             3.2.4 安装gulp,用命令yarn global add gulp-cli

 3.2.5 安装Yeoman: yarn global add yo

 3.2.6 最后安装jsipster,使用命令yarn global add generator-jhipster

         3.3 本地安装使用npm

3.3.1 安装jdk,安装NodeJs,必须使用LTS版本

3.3.2 使用命令更新npm,.执行命令npm install -g npm

3.3.3 .安装Yeoman,在dos窗口通过命令:npm install -g yo.

3.3.4bower:npm install -g bower.

3.3.5安装Grunt(推荐):npm install -g grunt-cli或者Gulp.js:npm install -g gulp.

3.3.6.最后,安装jhipster:npm install -g generator-jhipster

          3.4Docker方式安装

3.4.1可以直接使用Dockerhub上的镜像,如果是windows平台,则可以使用Docker Toolbox。使用命令下载最新的master版本:

  1. 部署流程:

打开dos窗口,进入要创建的项目所对应的空文件夹(testjhipster)。输入命令:yo jhipster.

接着出现交互问答,以便按照开发者要求去生成代码,实现应用的功能:

1.Which type of application would you like to create?<Use arrow keys>?//选择创建的应用类型

Monolithic application (recommended for simple projects) //综合应用

Microservice application //微服务应用

Microservice gateway //微服务网关

JHipster UAA server (for microservice OAuth2 authentication) //微服务OAuth2的身份认证服务

2.What is the base name of your application?<jhipsterTest>

你的应用程序的基本名称是什么

3.What is your default java package name<com.mycompany.myapp>

默认的Java包名称是什么?

4.Do you want to use the JHipster Registry to configure,monitor and scale your application?<Use arrow keys>是否要使用Jhipster注册表配置、监视和缩放

JHipster Registry是一个开源的工具,用于管理你正在运行的应用(微服务注册中心和统一配置中心),只有在微服务架构时才会使用

5.Which type of authentication would you like to use?您要使用哪种类型的身份验证?

JWT authentication: 使用JSON Web Token

HTTP Session Authentication:经典的基于session认证的机制

OAuth 2.0 / OIDC Authentication: 使用OpenID连接服务,类似于Keycloak或者Okta

Authentication with JHipster UAA server: 此种方式必须提前生成JHipster UAA Server (Q1的选项),它是基于OAuth2的验证服务

6.Which type of database would you like to use?您要使用哪种类型的数据库?

No database,仅使用微服务架构时可用

An SQL database: 使用关系型数据库,将会采用Spring data jpa

MongoDB

Cassandra

Couchbase

7.Which production database would you like to use?您要使用哪个生产数据库?

选择你线上环境使用的数据库,此选项决定src/main/resources/config/application-prod.yml的配置

8.Which development database would you like to use?您要使用哪个开发数据库?

此选项决定你src/main/resources/config/application-dev.ymlprofile的数据库配置项,你可以选择:

 

H2,running in-memory,数据存储在内存中,服务停掉数据消失

H2,with its data stored on disk,数据存储在硬盘,当前只是BETA测试且不能在Windows机器上工作

可以和Q7的选项一致

9.Do yo want to use the Spring cache abstraction?

由于Spring对于Cache的允许用户使用不同的cache实现,你可以使用chcache(本地缓存),Hazelcast(分布式缓存)或者Infinispan(另一种分布式缓存),此选项可以提升你的应用的性能

10Do you want to use Hiberbate 2nd level cache?

是否要使用Hiberbate二级缓存?

此选项仅当你选择SQL数据库并且在Q9选择了一个缓存实现。Hibernate使用二级缓存可以更好的提升它的性能

11.Would you like to use Maven or Gradle for building the backend?

您想使用Maven或Gradle构建后端吗?

12Which other technologies would you like to use?<Press <space> to select,<a> to toggle all,<i> invert selection>

您还想使用哪些其他技术?

Social login,社交登录功能

API first development using swagger-codegen:通过成swagger-codegen而使你的应用采用API优先的开发模式

Search engine using ElasticSearch: 对于ES的支持(Spring Data Elasticsearch)

Clustered HTTP sessions using Hazelcast,默认情况下,JHipster只是用Http Session来存储Spring Security的身份验证和授权信息。如果你在集群中运行,使用HTTP Session将会导致一些数据一致的问题,如果你想在集群中复制session,请选择此项

13Which Framework would you like to use for the client?您希望为客户端使用哪个框架?

14Would you like to enable sass stylesheet preprocessor?

是否要启用SASS样式表预处理器?

Node-sass对于设计CSS是一个优秀的解决方案,便于高效使用,你需要运行一个Gulp服务,jhipster会自动配置

15Would you like to enable internationalization support?

是否要启用国际化支持?JHipster对于国际支持非常友好,你可以在客户端和服务端使用。但一般对于国际化要求不多的场景,可以不选择。

16Besides JUnit and Jest,Which testing frameworks would you like to use?

除了junit和jest,您还想使用哪些测试框架?

 Gatling //使用 Gatling 进行性能测试。

 Cucumber //使用 Cucumber 模拟用户行为

 Protractor //使用 Protractor 对 AngularJS 进行集成测试

17Would you like to install other generators from the JHipster Marketplace?是否需要去JHipster商城安装第三方插件模块

 

 

  1. 创建实体类流程:

2.3.1.Do you want to add a field to your entity?

是否要向实体添加字段?

2.3.2.What is the name of your field?字段名是什么?

2.3.3.What is the type of your field?字段的类型

2.3.4.Do you want to add vlidation rules to your field?

是否要向您的字段添加验证规则?

2.3.5.Do you want to add a relationship to another entity?

是否要将关系添加到其他实体?

2.3.6.Do you want to use separate service class for your business  logic?您想为业务逻辑使用单独的服务类吗

2.3.7.Do you want pagination on your entity?你想要对你的实体进行分页吗?

2.3.8.Overwrite src\main\resources\config\liquibase\master.xml?

覆盖src \ main \ resources \ config \ liquibase \ master.xml?

 

  1. 界面构成:
    1. 用户管理:

管理系统用户与相应的角色信息,可以在这里维护系统用户的相关信息

    1. 资源监控

查看系统资源使用情况、http情况、服务被调用情况、缓存情况及数据源使用情况

    1. 服务状态

查看服务器的硬盘使用情况和数据使用情况

    1. 配置

查看所有资源的配置信息

    1. 审核

查看应用的审核情况

    1. 日志

设置所有包的日志级别,可以根据需要动态修改

    1. Api

基于Swagger的控制层的接口参数

    1. 数据库
  1. 定义:Jhipster是一个开发框架,用于生成部署spring boot和  angular js 或者react的Web工程和基于Spring的微服务工程。
  2. 目录结构(在未创建实体的时候)

 

 

当创建实体Author后,Scripts下多了一个entities:

后台主要的操作代码在com.Your application.jhipster.web.rest包下

  1. Jhipster Registry有两种模式:
  1. dev模式:执行命令mvn -Pdev,启动后运行,打开另一个命令窗口,输入如下命令;Yarn & Yarn start,会默认弹出浏览器,自动输入地址http://localhost:9000/#/
  2. Prod模式:命令./mvnw -Pprod
  1. 基础配置:

jhipster有两种配置文件:

dev开发环境配置:为了开发的方便,可以连接开发环境或者测试环境

Prod生产环境配置:一般连接生产环境,需要考虑性能和可扩展性

  1. jhipster的属性配置:

jhipster提供了特定的应用属性,这些属性是所有jhipster的标准,这些属性需要使用io.github.config.JhipsterPropertities类配置

  1. 用于jhipster异步函数调用的线程池(async配置)
  2. http配置
  3. Hibernate二级缓存配置
  4. E-mail属性(mail)-E-mail发出的地址及在邮件中使用的应用url
  5. Spring 安全配置
  6. Metrics(监控)配置
  7. logging配置
  8. 配置cors
  1. 如果添加或者修改一个JPA实体,需要更新数据库

Jhipster使用Liquibase来管理数据库更新,将其存储到/src/main/resources/config/liquibase/目录下的配置文件,有三种方式可以使用Liquibase:

  1. 使用实体生成器:
  2. 使用liquibase:diff Maven goal
  3. 或者手动更新配置文件

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值