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)。

參考資料:


[1]:http://lming.leanote.com/post/Creating-an-application
[2]:http://www.zuidaima.com/share/2898005074136064.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章