网址
https://www.jhipster.tech/cn/
安装
系统:win10
npm install -g generator-jhipster
创建单应用项目
mkdir myapplication
cd myapplication/
jhipster
语句解释
- Monolithic application (recommended for simple projects)
就是最常见的单体应用,区别于微服务而言的。对于简单应用来说,最容易创建和开发,所以也是推荐的选项。(如果选择下面几项创建微服务,jhipster命令后面的问题也会跟着变化) - Gateway application
网关应用 - Microservice application
微服务应用
上下是选择,回车是确认
2.
- 应用的名称,括号里就是当前文件夹的名称,也是推荐的名称。如果用这个名称,直接回车就好。也可以在后面输入新名字,然后回车确认。
是否使用webflux
4.
Java代码都会创建到这个包路径下。同样的,括号里是默认值,也可以修改。
5.
使用什么类型的认证方式。JWT(JSON Web Token)是一种服务器端无状态(stateless)的认证方式,后两个是有状态的(Stateful)。HTTP Session Authentication则是最传统的认证方式。
不管用的什么认证方式,服务器端都用Spring Security实现,而不是Apache Shiro。
6.
用什么类型的数据库。四个类型可以选择,分别对应Spring Data下面的具体实现。
SQL(先不管具体是MySQL还是Oracle),用Spring Data JPA实现。pom会自动加上spring-boot-starter-data-jpa
MongoDB用Spring Data MongoDB实现。pom会自动加上spring-boot-starter-data-mongodb
Couchbase用Spring Data Couchbase实现。pom会自动加上spring-boot-starter-data-couchbase
Cassandra用Spring Data for Apache Cassandra实现。pom会自动加上spring-boot-starter-data-cassandra
产品环境下用什么数据库。也就是在Spring Boot 的prod profile里配置的数据库。由于我们上一步选择了SQL (H2, MySQL, MariaDB, PostgreSQL, Oracle, MSSQL), 所以现在从关系型数据库里选择,我们选择的是MySQL。
8.
开发环境下用什么数据库。也就是在Spring Boot的dev profile里内置的数据库。由于我们上一步选择了MySQL,所以现在有三个选项。
其中前两个选项用H2作为开发和自测用数据库。H2本身就是一个Java写的轻量级的关系型数据库,可以被内置到Java应用里,不需要下载安装,不占用磁盘和内存。
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
上面的dependency,JHipster会在pom.xml里帮你配置好了。
所以在开发人员电脑上推荐用H2。MySQL甚至是Oracle只适合安装在测试/产品服务器上。
with disk-based persistence,测试数据写入硬盘,重启应用或系统都不会丢失。
with in-memory persistemce,测试数据只存在于内存,每次重启应用都没了。
第三个选项是MySQL,也就是说允许开发和产品环境用同一个品牌的关系型数据库。如果开发环境要用产品环境的数据库,也不要安装在开发人员个人电脑上,而是连接其他服务器的数据库。
9.
是否使用Spring缓存,如果使用就选择实现方式。类似JPA和Hiberante/EclipseLink一样,Spring Cache是一个抽象,允许其他厂商提供自己的实现。Ehcache实现支持本地一个节点缓存,Hazelcast实现支持分布式多节点。单体类型的应用选择Ehcache就可以了。
10.
因为之前的问题,我们选择了SQL类型的数据库,所以用到Spring Data JPA,而且默认用到Hibernate的实现。所以这一步需要选择是否用Hibernate的二级缓存。选择Yes。
11.
用Maven还是Gradle作为后端的构建工具。虽然Gradle有很多高级特性和方便之处,但是目前最常用的就还是Maven。我选择Maven。
12.
是否使用JHipster Registry应用。
13.
是否还用到其他技术。可选的有Elasticsearch、WebSockets、Apache Kafka…
根据你的选择JHipster会自动做好Spring的配置。这里没选。
14.
前端用什么框架。
15.
这一步可以选择n,默认只生成en版本,然后自己修改。
也可以选择Y,然后在后面的问题中分别选择一个默认语言和多个非默认语言。
选中文
17.
JHipster默认前端用Jest,服务器端用JUnit作为单元测试框架。如果想用别的,可以在下面三个里选。
是否安装JHipster Marketplace里的其他generators。Marketplace地址