1. 程式人生 > >JHipster建立Java Web應用(圖文)

JHipster建立Java Web應用(圖文)

簡介J潮客

J潮客(jHipster)是什麼東西? 是誰開始的?其實J潮客是開源技術, 在2013年由法國Java專家 Julien Dubois (朱利安 杜波爾斯)率先倡導,至今仍是J潮客專案主導者。簡易直說它是工具集堆綜合技術,意思是由多種技術工具配置而成的Java Web開發程式產生器。好處是由Java專家累積的開發經驗,配上各類實用的框架技術,去繁取精的運用,全方位的配置,製成出完備的開發應用程式,絕對適用於面向服務的體系結構 (SOA).
J潮客包括最先進的Java 8,特色是多用註解, 不用XML 配置的組態,配備了全方位的工作環境,從開發,測試,監控到製成,以及雲部署。能提供最先進的Java 技術如微服務綜合技術 (Microservices)。

主要的技術有以下幾種,簡單介紹

如果想知道更多有關這些資訊,可問百度。

  • Spring Boot: 能建成獨立Spring 的應用程式
  • Spring Security: 標準業內的授權和認證
  • AngularJS: JavaScript的MVC框架客戶端
  • Bootstrap: 來自Twitter,是目前最受歡迎的前端框架
  • REST APIs: 基於Http協議實現資源操作
  • Liquid Database: 資料庫原始碼版本控制
  • CSS3 + 動畫
  • HTML5: 移動開發主導(Mobil First)
  • Full internationalization support:支援完善的國際化文字
  • Web Socket:允許使用者在瀏覽器中實現雙向通訊,實現資料的及時推送
  • 嵌入式tomcat ,jetty及undertow

創立專案工具技術選擇多

  1. 自動配置依賴資源:Maven 或 Gradle
  2. 驗證型別: Cookie type, JWT 和OAuth2
  3. 資料庫: SQL 及 NOSQL (MySQL, Postgres, H2)
  4. 快取記憶體: EhCache or Hazelcast
  5. 自動化重複任務:實時編輯: GULP 及 Grunt
  6. 各類工具:Yeoman, npm (nodejs), BrowserSync

安裝J潮客(jHipster)

一、基礎環境

建立J潮客 (jHipster) 的工作環境是必須的,需要配備有:
- Java 8 SDK
- Maven 或 Gradle
- nodeJs
- PhantomJS
- Xcode (ios)
- Mysql 或 Postgres (Mysql Workbench or pgAdmin3)
- Git 版本控制
- STS ide, Eclipse, Intellij IDEA, 其中一個
- 具體詳細安裝方法,網上多。必須測試好開發環境,各軟體工具以最新版本安全執行。

(有關安裝開源工具-J潮客,對於菜烏來說,可能是一個挑戰,因為它是比較短暫歷史,沒有具體處理步驟提供,故此本文特別加入十分具體詳細安裝步驟顯示。以便對應是否安裝成功。)安裝 J潮客有多種,本文只在本地安裝Window上安裝.

  • Windows 8 和 10: 要用有管理員權益的命令提示符 (cmd)
  • ios 和 Linux 用終端 terminal,用管理員權益安裝(sudo)

1、PhantomJS環境配置

(1)下載PhantomJS.zip
(2)解壓到固定目錄
(3)將phantomjs_home\bin新增到path目錄下

2、Nodejs環境配置

nodejs使用安裝包正常安裝後,node和npm都可以在windows下正常使用。但是,如果不進行必要的配置,通過npm安裝的很多包是無法正常在cmd下面使用的。

nodejs安裝後需要進行以下配置。、

(1)配置prefix和cache目錄

示例目錄地址為:C:\Program Files\nodejs

npm config set prefix “C:\Program Files\nodejs\node_global”
npm config set cache  “C:\Program Files\nodejs\node_cache

(2)配置環境變數
右擊“計算機”—>”屬性”—>”高階系統設定”—>”環境變數”

在”系統變數”中,設定 NODE_PATH
在系統變數裡新建 NODE_PATH ,值為C:\Program Files\nodejs\node_global

這個值就是上一步中,通過 “npm config set prefix” 設定的值。可以,用下面命令檢視

npm config get prefix

在”使用者變數”中,修改path
修改使用者變數中的path,新增C:\Program Files\nodejs\node_global。

這個值就是上一步中,通過 “npm config set prefix” 設定的值。

二、前期準備

在node中,安裝依賴工具

安裝 Yeoman:

npm install -g yo

安裝 Bower:

npm install -g bower

安裝 Gulp:

npm install -g gulp

安裝 JHipster:

npm install -g generator-jhipster

三、建立工程

(一)、新建一個工程目錄,本文中示例為JHipster_demo

(二)、開啟CMD,進入到JHipster_demo目錄,輸入命令:

yo jhipster

如下圖:

這裡寫圖片描述

看到JHipster的Logo資訊,說明啟動成功,如下圖:

這裡寫圖片描述

(三)、根據自己的需要選擇必要的配置,根據介面上的提示回答問題即可。用上下鍵選擇,存在多選的地方,用空格配合上下鍵選擇,回車確認。

1、你想建立什麼型別的應用?

你可以選擇:

  • 一體化應用:這是一個典型的,通用的應用。它容易使用和開發,是我們預設推薦的。
  • 微服務應用:採用微服務的架構,這是其中一個服務例項。
  • 微服務閘道器:採用微服務的架構,這裡一個為微服務例項提供路由以及安全保障的應用。

這裡寫圖片描述

2、你應用的名稱

如題,輸入你應用的名稱。

這裡寫圖片描述

3、你的 Java 包名 ?

你的 java 應用程式將使用此作為它的根包。這個值被儲存在 Yeoman 在,下次執行生成器,它將成為預設值。當然,你可以通過提供一個新的值來覆蓋它。

這裡寫圖片描述

4、你選擇哪種身份認證方式?

你可以選擇:

  • 基於經典的會話認證機制, 做 java web 都知道(這也是許多人使用 Spring Security 的方式)。你也可以通過用這種方式來使用 Spring Social。Spring Social 可以讓你使用社會化登陸(比如 Google,Facebook,Twitter), 這個配置項由 Spring boot 提供。
  • 基於 OAuth 2.0 的認證機制。(JHipster 會提供生成必要的 OAuth2 服務端程式碼和資料庫表)。
  • 採用 JSON Web Token (JWT) 的認證機制。
  • OAuth 2.0 和 JWT 可以讓你構建無狀態的應用架構(他們不依賴 HTTP Session)。

這裡寫圖片描述

5、你想使用哪種資料庫?

你可以選擇:

  • SQL 資料庫 (H2, MySQL, MariaDB, PostgreSQL, Oracle),預設 使用Spring Data JPA 來訪問。
  • MongoDB
  • Cassandra

這裡寫圖片描述

6、你要在生產環境下采用哪種資料庫?

這個選項的回答會被寫入生產環境下的配置檔案。你可以在src/main/resources/config/application-prod.yml檔案中配置他。

如果你想使用 Oracle,你需要檢視 [install the Oracle JDBC driver manually]

這裡寫圖片描述

7、你要在開發環境下采用哪種資料庫?

這個選項的回答會被寫入開發環境下的配置檔案。

你也可以選擇:

  • 在記憶體中執行的 H2。這種方式很簡單使用,但是你的資料會丟失當你重新啟動伺服器。
  • 資料儲存在磁碟上的 H2。目前處在 BETA 測試狀態(不支援 Windows),但這將最終是一個比在記憶體中執行更好的選擇,因為你不會失去你的資料後,當應用程式重新啟動後。
  • MySQL,和生產環節一樣的資料庫,這搭建的時候會有點麻煩。但是你最好在編碼完成後,在和生產環境一樣的資料庫上跑一下程式。
    你可以在src/main/resources/config/application-dev.yml檔案中配置它。

這裡寫圖片描述

8、你想使用 Hibernate 二級快取嗎?

Hibernate是 JHipster 提供的 JPA 的實現。處於效能考慮,我們強烈建議你是有快取,你可以根據你的應用來調整它。你可以選擇使用ehcache(本地快取) 或者Hazelcast(分散式快取,用於叢集環境)。

這裡寫圖片描述

9、你想使用 Maven 還是 Gradle ?

你可以通過Maven或者Gradle來構建你的應用。Maven 相對 Gradle 更穩定、更成熟。而 Gradle 更靈活,更容易擴充套件。

這裡寫圖片描述

10、你會在應用中使用的其它技術

這裡寫圖片描述

11、你想使用 LibSass 來預處理你的 CSS 嘛?

Node-sass 是處理 CSS 的一個很好的方案,你需要執行一個 Gulp 服務來自動配置它。

這裡寫圖片描述

12、你想通過 Angular Translate 來支援多語言嘛?

預設情況下 JHipster 提供l 優秀的國際化的支援,無論是在客戶端與Angular Translate和在伺服器端。但是國際化增加系統開銷,管理起來會有些複雜,所以你可以選擇不安裝這個功能。

這裡寫圖片描述

選擇要支援本地的語言

這裡寫圖片描述

選擇要支援的其它語言

這裡寫圖片描述

13、你想使用那個測試框架?

預設情況下 JHipster 提供 java 單元/整合測試(使用Spring JUnit支援)和 JavaScript 單元測試(使用Karma.js)。這也是一個可選項。

  • 使用 Gatling 進行效能測試。
  • 使用 Cucumber 模擬使用者行為
  • 使用 Protractor 對 AngularJS 進行整合測試

這裡寫圖片描述

選擇完成之後,點選回車,就會開始執行程式碼的生成工作。完成之後,用你的IDE開啟,我用的是Maven,所以執行:

mvn clean install

訪問:

http://localhost:8080

就可以看到效果了。

命令選項

你也可以用一些可選的命令來執行 JHipster。這些選項可參考JHipster –help:
以下是可選項:
- –help - 檢視生成器的選項和用法 。
- –skip-cache - 不記住你之前的回答 (預設: false)。
- –skip-install - 不自動安裝依賴 (預設: false)。
- –skip-client - 不生成客戶端程式碼 (預設: false)。這和執行yo jhipster:server效果一樣。
- –skip-server - 不生成服務端程式碼 (預設: false)。這和執行yo jhipster:client效果一樣。
- –skip-user-management - 跳過生成前後端使用者管理相關程式碼 (預設: false)
- –i18n - 禁用或允許客戶端 i18n 國際化支援。(預設: true)。
- –with-entities - 重新生成現有的實體如果他們已經存在。(using their configuration in the .jhipster folder) (預設: false)
- –check-install - 檢查你的安裝是否正確(預設: true)。

參考資料: