簡介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
創立項目工具技術選擇多
- 自動配置依賴資源:Maven 或 Gradle
- 驗證類型: Cookie type, JWT 和OAuth2
- 數據庫: SQL 及 NOSQL (MySQL, Postgres, H2)
- 高速緩存: EhCache or Hazelcast
- 自動化重複任務:實時編輯: GULP 及 Grunt
- 各類工具: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