知識庫 / Spring / Spring Boot RSS 訂閱

JHipster 入門

Spring Boot
HongKong
6
02:38 PM · Dec 06 ,2025

1. 簡介

本文將為您提供 JHipster 的快速概述,並演示如何使用命令行工具創建簡單的單體應用程序和自定義實體。

我們還將分析在每個步驟中生成的代碼,並涵蓋構建命令和自動化測試。

2. 什麼是 Jhipster

JHipster 基本上是一個建立在大量前沿開發工具和平台的、高級的代碼生成器。

該工具的主要組件包括:

JHipster 只需要幾個 shell 命令,就能創建一個完整的 Java Web 項目,該項目具有友好的響應式前端、文檔化的 REST API、全面的測試覆蓋、基本的安全性和數據庫集成!生成的代碼經過詳細註釋,並遵循行業最佳實踐。

此外,該工具還利用了以下關鍵技術:

我們不需要在生成的應用程序中使用所有這些項。可選項在項目創建期間進行選擇。

一個漂亮的 JHipster 生成的應用程序。這是本文檔中我們將要完成的工作成果。

3. 安裝

要安裝 JHipster,首先需要安裝其所有依賴項:

如果選擇使用 AngularJS 2,則以上依賴項就足夠了。但是,如果您更喜歡使用 AngularJS 1,則還需要安裝 BowerGulp

最後,只需安裝 JHipster 本身。這是最簡單的部分。由於 JHipster 是一個 Yeoman 生成器,而 Yeoman 又是一個 Javascript 包,因此安裝只需運行一個簡單的 shell 命令:

yarn global add [email protected]

這就是全部!我們使用 Yarn 包管理器安裝了 JHipster 生成器。

4. 創建項目

創建一個 JHipster 項目基本上就是創建一個 Yeoman 項目。一切都從 yo 命令開始:

mkdir baeldung-app && cd baeldung-app
yo jhipster

這將創建我們的項目文件夾,名為 baeldung-app,並啓動 Yeoman 的命令行界面,它將引導我們創建項目。

該過程涉及 15 步。我鼓勵您探索每一步可用的選項。在本文的範圍內,我們將創建一個簡單的 單體應用 (推薦用於簡單項目),並且不會偏離默認選項太多。

以下是與本文相關的步驟:

  • 應用類型 – 選擇 單體應用 (推薦用於簡單項目)
  • 從 JHipster 市場集中安裝其他生成器 – 輸入 N。 在此步驟中,我們可能想要安裝一些酷炫的插件。一些流行的插件包括 entity-audit,它啓用數據跟蹤;bootstrap-material-design,它使用流行的 Material Design 組件,以及 angular-datatables
  • Maven 或 Gradle – 選擇 Maven
  • 其他技術 – 不要選擇任何選項,只需按 Enter 即可移動到下一步。在這裏,我們可以選擇使用 Google、Facebook 和 Twitter 進行社交登錄,這是一個非常棒的功能。
  • 客户端框架 – 選擇 Angular 17 
  • 啓用國際化 – 輸入 Y,然後選擇 英語 作為母語。我們可以選擇儘可能多的語言作為第二語言
  • 測試框架 – 選擇 GatlingProtractor

JHipster 將創建項目文件,然後開始安裝依賴項。以下消息將顯示在輸出中:

I'm all done. Running npm install for you to install the required 
   dependencies. If this fails, try running the command yourself.

依賴安裝可能需要一些時間。安裝完成後,將會顯示:

Server application generated successfully.

Run your Spring Boot application:
 ./mvnw

Client application generated successfully.

Start your Webpack development server with:
npm start

我們的項目現在已創建完成。我們可以在項目根目錄中運行主命令:

./mvnw #starts Spring Boot, on port 8080
./mvnw clean test #runs the application's tests
yarn test #runs the client tests

JHipster 會生成一個 README 文件,並將其放置在項目根目錄下

該文件包含有關如何運行與項目相關的許多其他有用的命令的説明。

5. 生成代碼概覽

請查看自動生成的各類文件。您會注意到,項目結構與標準的 Java/Spring 項目非常相似,但同時也包含了很多額外的組件。

由於 JHipster 負責生成前端代碼,因此您會發現 package.json 文件、webpack 文件夾以及其他相關的 Web 開發資源。

接下來,我們快速瀏覽一些關鍵文件。

5.1 後端文件

  • 正如預期的那樣,Java 代碼位於 src/main/java 文件夾中
  • src/main/resources 文件夾包含 Java 代碼所使用的靜態內容。在這裏可以找到國際化文件(位於 i18n 文件夾中)、電子郵件模板和一些配置文件
  • 單元測試和集成測試位於 src/test/java 文件夾中
  • 性能測試(Gatling)位於 src/test/gatling。 然而,在此階段,該文件夾的內容不會很多。 一旦我們創建了一些實體,這些對象的性能測試將位於此處

5.2. 前端

  • 根前端文件夾位於 src/main/webapp
  • app 文件夾包含大量的 AngularJS 模塊
  • i18n 包含前端部分的國際化文件
  • 單元測試(Karma)位於 src/test/javascript/spec 文件夾
  • 端到端測試(Protractor)位於 src/test/javascript/e2e 文件夾

6. 創建自定義實體

實體是我們的 JHipster 應用程序的基本構建塊。它們代表業務對象,例如 用户任務帖子評論 等。

使用 JHipster 創建實體是一個無縫的過程。我們可以使用命令行工具創建對象,類似於我們創建項目本身,或者通過 JDL-Studio,一個在線工具,可以生成實體的 JSON 表示,然後導入到我們的項目中。

在本文中,讓我們使用命令行工具創建兩個實體:帖子評論

一個 帖子 應該具有標題、文本內容和創建日期。它還應該與用户相關聯,該用户是 帖子 的創建者。一個 用户 可以與許多 帖子 相關聯。

一個 帖子 還可以有零個或多個 評論。每個 評論 都有文本和創建日期。

要啓動創建我們 帖子 實體的過程,請轉到我們項目的根文件夾,並輸入:

yo jhipster:entity post

請按照界面提供的步驟進行操作。

  • 添加一個名為 title 的字段,類型為 String,併為該字段添加驗證規則(Required最小長度最大長度
  • 添加另一個名為 content 的字段,類型為 String,並使其也為 Required
  • 添加一個名為 creationDate 的第三個字段,類型為 LocalDate
  • 現在,讓我們添加與 User 的關係。請注意,實體 User 已經存在,它是在項目概念階段創建的。另一個實體的名稱是 user,關係名稱是 creator,類型是 多對一,顯示字段是 name,最好使關係為 required
  • 不要選擇使用 DTO,而是選擇使用 直接實體
  • 選擇將倉庫直接注入到服務類中 。請注意,在實際應用中,控制器與服務類之間的分離可能更合理
  • 為了完成,選擇 無限滾動 作為分頁類型
  • 授予 JHipster 在需要時覆蓋現有文件的權限

重複以上步驟,創建一個名為 comment 的實體,該實體有兩個字段,文本,類型為 String,以及 creationDate 類型為 LocalDateComment 也應具有一個必需的 多對一 關係與 Post

這就完成了!雖然流程中有許多步驟,但您會發現它們並不耗時。

您會注意到 JHipster 會創建許多新文件,並修改一些現有文件,作為創建實體的過程的一部分:

  • 一個 .jhipster 文件夾被創建,其中包含每個對象的 JSON 文件。這些文件描述了實體的結構
  • 實際的 @Entity 註解類位於 domain 包中
  • 倉庫被創建在 repository 包中
  • REST 控制器位於 web.rest 包中
  • Liquibase 變更日誌對於每個表創建位於 resources/config/liquibase/changelog 文件夾中
  • 在前端部分,每個實體的文件夾在 entities 目錄中創建
  • 國際化文件設置在 i18n 文件夾中(如果您想修改它們,請隨意修改)
  • src/test 文件夾中創建了多個測試(前端和後端)

這可真不少代碼了!

請隨意運行測試並檢查所有測試是否通過。現在,我們還可以使用 Gatling 運行性能測試,使用命令(為了使這些測試通過,應用程序必須正在運行):

mvnw gatling:execute

如果您想查看前端運行效果,請啓動應用程序,使用 /mvnw,導航到 http://localhost:8080 並以 admin 用户身份登錄(密碼為 admin)。

請在頂部菜單中選擇 Post,在 Entities 菜單項下。您將看到一個空列表,稍後將包含所有帖子。單擊 Create a new Post 按鈕以顯示包含表單:

請注意 JHipster 在表單組件和驗證消息方面所展現的精細之處。當然,我們可以隨意修改前端,但該表單本身已經非常完善。

7. 持續集成支持

JHipster 可以自動生成用於最常用的持續集成工具的配置文件。只需運行以下命令:

yo jhipster:ci-cd

並回答問題。在這裏,我們可以選擇創建配置文件的 CI 工具,是否使用 Docker、Sonar,以及作為構建過程的一部分將其部署到 Heroku。

ci-cd 命令可以為以下 CI 工具創建配置文件:

  • Jenkins:文件名為 Jenkinsfile
  • Travis CI:文件名為 .travis.yml
  • Circle CI:文件名為 circle.yml
  • GitLab:文件名為 .gitlab-ci.yml

8. 結論本文介紹了 JHipster 的一些基本功能。當然,JHipster 的能力遠不止於此,這裏只是一個初步的瞭解。請繼續探索官方網站:https://jhipster.github.io/

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.