开发步骤
来源: |
时间:2018-11-09
|
|

请查看我们关于创建新JHipster应用程序的视频教程

摘要

  1. 一般配置

  2. 运行Java服务器

  3. 使用Angular / React

  4. 使用数据库

  5. 国际化

一般配置

IDE配置

如果尚未配置IDE,请转到配置IDE页面。

应用配置

默认情况下,JHipster使用“开发”配置文件,因此您不必配置任何内容。

如果您想了解有关可用配置文件的更多信息,请转到标题为“ 配置文件 ” 的部分

如果要配置某些特定的JHipster属性,请查看常用的应用程序属性页面。

运行Java服务器

作为“主要”Java类

在IDE中,右键单击Java包层次结构根目录下的“Application”类,然后直接运行它。您还应该能够轻松地调试它。

该应用程序将在http:// localhost:8080上提供

此应用程序默认启用“热重载”,因此如果编译一个类,Spring应用程序上下文应自动刷新,无需重新启动服务器。

作为Maven项目

您可以使用Maven启动Java服务器。JHipster提供了一个Maven包装器,因此您不需要安装Maven,并且您可以保证所有项目用户都具有相同的Maven版本:

./mvnw(在Mac OS X / Linux上)mvnw(在Windows上)

(这将运行我们的默认Maven任务,spring-boot:run

该应用程序将在http:// localhost:8080上提供

或者,如果您已经安装了Maven,则可以使用Maven启动Java服务器:

mvn

如果您想了解有关使用Maven的更多信息,请访问http://maven.apache.org

(可选)作为Gradle项目

如果您选择了Gradle选项,JHipster提供了Gradle包装器,因此您无需安装Gradle,并且您可以保证所有项目用户都具有相同的Gradle版本:

./gradlew(在Mac OS X / Linux上)gradlew(在Windows上)

(这将运行我们的默认Gradle任务,bootRun

或者,如果已安装Gradle,则可以使用Gradle启动Java服务器:

gradle

该应用程序将在http:// localhost:8080上提供

如果您想了解有关使用Gradle的更多信息,请访问https://gradle.org

使用Angular / React

运行Webpack

需要执行此步骤才能查看TypeScript代码中的更改并重新加载客户端代码。

运行Webpack是package.json文件中的默认任务,因此您只需运行:

npm start

(或者,如果你使用Yarn,yarn start)。

这提供了令人印象深刻的功

  • 只要修改了一个HTML / CSS / TypeScript文件,浏览器就会自动刷新

  • 在多个不同的浏览器或设备上测试应用程序时,所有点击/滚动/输入都应在所有屏幕上自动同步

这将启动:

运行NPM

直接项目依赖项被配置到package.json,但是传递依赖项被定义到package-lock.json文件中,在npm install运行时生成

建议将package-lock.json[https://docs.npmjs.com/files/package-lock.json] 检查到源代码管理中,以便项目的所有团队成员都具有相同版本的所有依赖项。npm install再次运行package-lock.json使用最新版本的传递依赖项重新生成

其他NPM /纱线任务

无论您使用NPM还是Yarn,这些任务都是相同的,我们使用该npm命令作为示例,但您可以将其替换为yarn

  • npm run lint:检查TypeScript代码中的代码样式问题

  • npm run lint:fix:尝试自动更正TypeScript lint问题

  • npm run tsc:编译TypeScript代码

  • npm run test:用Jest运行单元测试

  • npm run test:watch:保持Jest单元测试运行,以便在代码更改时获得实时反馈

  • npm run e2e:使用Protractor运行“端到端”测试(仅在生成项目时选择了Protractor选项时才有效)

使用数据库

运行数据库

如果您使用非嵌入式数据库,如MySQL,MariaDB,PostgreSQL,MSSQL,MongoDB,Cassandra或Couchbase,则需要安装和配置该数据库。

JHipster最简单和推荐的方法是使用Docker Compose。在这里关注我们的Docker Compose指南。

如果您希望手动安装和配置数据库,请不要忘记在src/main/resources/config/application-*.yml文件中相应地配置Spring Boot属性(例如,数据库URL,登录名和密码)。

在开发中使用H2数据库

如果选择H2数据库,则将在应用程序内部运行内存数据库,默认情况下,您可以在http:// localhost:8080 / h2-console访问其控制台

要连接到数据库,请选择预配置的选项:

  • 驱动程序类:org.h2.Driver

  • JDBC URL:jdbc:h2:mem:jhipster

  • 用户名:

  • 密码:

在开发中使用MySQL,MariaDB或PostgreSQL

这个选项比使用H2更复杂,但是你有一些重要的好处:

  • 您的数据将在应用程序重新启动时保留

  • 您的应用程序启动速度要快一些

  • 你可以使用伟大的./mvnw liquibase:diff目标(见下文)

注意:对于MySQL,您可能需要使用以下选项启动数据库:

  • --lower_case_table_names=1:请参阅文档

  • --skip-ssl:请参阅文档

  • --character_set_server=utf8:请参阅文档

  • --explicit_defaults_for_timestamp:请参阅文档

命令是:

mysqld --lower_case_table_names=1 --skip-ssl --character_set_server=utf8 --explicit_defaults_for_timestamp

数据库更新

如果添加或修改JPA实体,则需要更新数据库模式。

JHipster使用Liquibase来管理数据库更新,并将其配置存储在/src/main/resources/config/liquibase/目录中。使用Liquibase有3种方法:使用实体子生成器,使用liquibase:diff Maven目标,或手动更新配置文件。

使用实体子生成器更新数据库

如果您使用实体子生成器,这里是开发工作流程:

  • 运行实体子生成器

  • 您的src/main/resources/config/liquibase/changelog目录中会创建一个新的“更改日志” ,并已自动添加到您的src/main/resources/config/liquibase/master.xml文件中

  • 查看此更改日志,将在您下次运行应用程序时应用

使用Maven liquibase进行数据库更新:diff目标

如果您已选择在开发中使用MySQL,MariaDB或PostgreSQL,则可以使用该./mvnw liquibase:diff目标自动生成更改日志。

如果您使用基于磁盘的持久性运行H2,则此工作流程尚未完美运行,但您可以开始尝试使用它(并向我们发送反馈!)。

Liquibase Hibernate是一个在你的pom.xml中配置的Maven插件,与你的Spring application.yml文件无关,所以如果你更改了默认设置(例如,更改了数据库密码),你需要修改这两个文件。

这是开发工作流程:

  • 修改JPA实体(添加字段,关系等)

  • 编译你的应用程序(这适用于编译的Java代码,所以不要忘记编译!)

  • 运行./mvnw liquibase:diff(或./mvnw compile liquibase:diff之前编译)

  • 在您的src/main/resources/config/liquibase/changelog目录中创建一个新的“更改日志”

  • 查看此更改日志并将其添加到您的src/main/resources/config/liquibase/master.xml文件中,以便下次运行应用程序时应用它

如果使用Gradle而不是Maven,则可以通过运行使用相同的工作流./gradlew liquibaseDiffChangelog -PrunList=diffLog,并根据需要更改build.gradleliquibase配置中的数据库配置

通过手动编辑更改日志来更新数据库

如果您更喜欢(或需要)手动进行数据库更新,这里是开发工作流程:

  • 修改JPA实体(添加字段,关系等)

  • src/main/resources/config/liquibase/changelog目录中创建一个新的“更改日志” 该目录中的文件以其创建日期为前缀(以yyyyMMddHHmmss格式),然后有一个标题描述它们的作用。例如,20141006152300_added_price_to_product.xml是一个好名字。

  • 在您的src/main/resources/config/liquibase/master.xml文件中添加此“更改日志”文件,以便下次运行应用程序时应用该文件

如果您想了解有关使用Liquibase的更多信息,请访问http://www.liquibase.org

国际化

国际化(或i18n)是JHipster的一等公民,因为我们认为它应该在项目开始时建立(而不是事后的想法)。

用法非常简单:

  • 使用Angular,感谢NG2翻译和特定的JHipster组件,它使用简单的JSON文件进行翻译

  • 使用React,感谢特定的JHipster组件,其工作方式与Angular组件相同,并使用相同的文件

例如,要将翻译添加到“名字”字段,只需使用键添加“translate”属性: <label jhiTranslate="settings.form.firstname">First Name</label>

此键引用JSON文档,该文档将返回已翻译的String。然后,Angular / React将使用翻译版本替换“First Name”字符串。

如果您想了解有关使用语言的更多信息,请阅读我们的安装新语言文档




JHipster赞助商:




提交
查看更多评论
没有更多评论