1. 程式人生 > >jHipster 3.4 建立最流行Java Web應用專案最簡單的入門基本教程

jHipster 3.4 建立最流行Java Web應用專案最簡單的入門基本教程

轉自:http://www.cnblogs.com/sam8881-Blogs/p/5630976.html


jHipster(J潮客)其亮點:

  1. 風頭超勁,席捲歐美,最新全能Java Web開發程式產生器 (java web generator)。
  2. 由Java專家累積的開發經驗,配上各類實用的框架技術,去繁取精的運用,全方位的配置,製成出完備的開發應用程式。
  3. 完美Java體系架構,適合各行各業專案,尤其以適用於面向服務的體系結構(SOA)更為勝任。
  4. 不論菜鳥,老牛或專家,極容易上手,只要你可以下載及建立以下要求的工作環境。
  5. 快速建成一個製作就緒的基本專案工作模版,令你可以用有限的精力專注業務上的運作。
  6. 製作例子包括:jHipster3.4+Spring4.2.6+Spring Boot1.3.5+Hibernate4.3.11+MySQL5.7.12+AngularJs1.5.5

開場白

最近兩,三年(2013-2016),Java 開發領域內颳起一股熱騰騰的潮流風。引起世界各地Java開發者蜂擁跟隨。這就是Java潮客者(J潮客),稱jHipster。根據專家統計,每月下載量約有12000,每月製成的J潮客應用程式有一萬份之多。可惜在國內有關J潮客資料及其應用十分稀少, 故此本文提供一些實用有效的資訊。Java愛好者可以一起學習和研究。如果一切順利,不論你是否菜鳥,只需要按照本文提供的步驟工作20-30分鐘(不包括安裝工作環境),即等於一個有5至7年的Java 經驗程式員工作了6個星期的結果:一個完善又先進,配合了Java web 技術趨勢,同時具備了製作就緒的基本工作模版。這就是J潮客(jHipster)閃亮賣點。

早在十多年前在道瓊斯總部打工時, 時常接觸實體或虛撰的Java網路伺服器和應用伺服器, 其運作十分複雜費時。 就算現今的有關Java web技術, 各種各類特色繁多。例如Java框架技術有Struts,Spring,Hibernate,iBatis,EJB3.0,JPA,等等;還有不少客戶端的技術,Javascript, jQuery, Easyui, AngularJs, Velocity ; 資料庫有SQL和NOSQL,本文只例舉部份而已。選擇多多,令人不容易適從。去年筆者希望找到更詳細的Spring Framework 4的應用資訊,走遍香港廣州及深圳各書店,仍然空手而返。原因是技術更新太快,有部份資料剛出版已是舊版本。究竟那項技術好,該用什麼客戶端,什麼樣的資料庫最適用,相信有不少的爭論。而本文的主題是不論菜鳥老手,只要好好地把握當今Java web 技術趨勢,分配本身有限的精力,創造出精彩的Java專案! 有關J潮客的應用,會由淺入深,分數期和各位共同學習,敬請各位讀者留意為要。

簡介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: 允許使用者在瀏覽器中實現雙向通訊,實現資料的及時推送

創立專案工具技術選擇多

  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潮客有多種,本文只推薦本地安裝法,基本可分Windows 8 和 10; ios 和 Linux.

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

安裝方法:

  安裝 Yeoman: npm install -g yo

  安裝 Bower: npm install -g bower

  安裝 Gulp: npm install -g gulp

  安裝 JHipster: npm install -g generator-jhipster

粗體字是輸入指令(ios):

sudo npm install -g yo

在終端 terminal出現以下的顯示:(你的可能不完全相同,大概相同就可以)

。。。

/usr/local/bin/yo -> /usr/local/lib/node_modules/yo/lib/cli.js 

> [email protected] postinstall /usr/local/lib/node_modules/yo

> yodoctor

Yeoman Doctor

Running sanity checks on your system

✔ Global configuration file is valid

✔ NODE_PATH matches the npm root

✔ Node.js version

✔ No .bowerrc file in home directory

✔ No .yo-rc.json file in home directory

✔ npm version

Everything looks all right!

/usr/local/lib

└── [email protected]

sudo npm install -g bower

/usr/local/bin/bower -> /usr/local/lib/node_modules/bower/bin/bower

/usr/local/lib

└── [email protected]

sudo npm install -g gulp

npm WARN deprecated graceful-fs[email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to [email protected]^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.

npm WARN deprecated [email protected]: [email protected]<3.0.0 is no longer maintained. Upgrade to [email protected]^4.0.0.

npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to [email protected]^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.

/usr/local/bin/gulp -> /usr/local/lib/node_modules/gulp/bin/gulp.js

/usr/local/lib

└─┬ [email protected]

  └─┬ [email protected]

    └─┬ [email protected]

      └─┬ [email protected]

        └─┬ [email protected]

          └── [email protected]

sudo npm install -g generator-jhipster

npm WARN deprecated [email protected]: cross-spawn no longer requires a build toolchain, use it instead!

npm WARN deprecated [email protected]: this package has been reintegrated into npm and is now out of date with respect to npm

/usr/local/lib

└── [email protected]

注意: 安裝最大的問題是網路通暢,因大部分資源都在外國,你懂的?

在ios 和 Linux方面,安裝時常常遇到是權益問題,可用管理員權益處理的。

安裝上述的軟體,各版本如下:

下一個步驟當然是要建立J潮客的應用模版。本文例子是要建立一個叫 kenlen 的應用程式模版。

開啟一個終端 terminal或 cmd,用管理員權益安裝,選取要安裝的磁碟,輸入以下指令:

mkdir kenlenècd kenlenèyo jhipster

 (以下是螢幕上顯示出來的)

Welcome to the JHipster Generator v3.4.0

Application files will be generated in folder: /Users/Emac/kenlen

(1/16) Which *type* of application would you like to create? Monolithic application (recommended for simple projects)

(2/16) What is the base name of your application? kenlen

(3/16) What is your default Java package name? com.emodak.kenlen

(4/16) Which *type* of authentication would you like to use? HTTP Session Authentication (stateful, default Spring Security mechanism)

(5/16) Do you want to use social login (Google, Facebook, Twitter)? Warning, this doesn't work with Cassandra! No

(6/16) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, PostgreSQL, Oracle)

(7/16) Which *production* database would you like to use? MySQL

(8/16) Which *development* database would you like to use? MySQL

(9/16) Do you want to use Hibernate 2nd level cache? Yes, with ehcache (local cache, for a single node)

(10/16) Do you want to use a search engine in your application? Yes, with ElasticSearch

(11/16) Do you want to use clustered HTTP sessions? No

(12/16) Do you want to use WebSockets? Yes, with Spring Websocket

(13/16) Would you like to use Maven or Gradle for building the backend? Maven

(14/16) Would you like to use the LibSass stylesheet preprocessor for your CSS? No

(15/16) Would you like to enable internationalization support? Yes

Please choose the native language of the application? English

Please choose additional languages to install Chinese (Simplified), Chinese (Traditional)

(16/16) Which testing frameworks would you like to use? (Press <space> to select)Gatling

Installing languages: en, zh-cn, zh-tw

   。。。

注意:有顏色的是選擇了那些建立應用程式的配置。

如果網路通暢,不會出現問題,建立該應用程式不超過30分鐘。但是通常會有些不能下載的資源檔案(jar),就要耐心應付的。如果有問題,怎麼辦呢?本文提供了多種方法處理。何況隨時可以問候百度孃的!其中可行方法有:

再輸入以下指令:

npm install

bower install

gulp install

根據筆者經驗,主要是下載POM的依賴資源,可輸入Maven 指令:

mvn clean

mvn install –U 或 mvn install –U --debug

(螢幕顯示出那個Jar沒能下載)

或者轉用淘寶的映象,用以下指令:

再輸入以上指令。

應用程式的測試和運作

當該專案-kenlen應用程式成功創立了,下一步驟就是測試這模版。首先要建立了該程式使用的資料庫。開啟MySQL Workbench:(有關MySQL的使用步驟,參考網上MySQL資料)

建立資料庫要求:

scheme name: kenlen

default collation: utf8-utf8_unicode_ci

連線資料庫的使用者名稱稱:root; 密碼: (無)

在那個剛完成創立kenlen模版的終端 terminal或 cmd裡,輸入:

    ./mvnw (ios) 或 ./mvnw spring-boot:run

    mvn (Window 8/10) mvn spring-boot:run

以下是Kenlen開發應用模版各網頁顯示:

原始碼輸入Eclipse (STS)或 Intellij IDEA

成功建立了J潮客的應用模版後,當然可以把原始碼輸入Eclipse 或 STS, 方便修改和刪除。輸入前要知道該應用模版用什麼工具來配置依賴資源:Maven 或 Gradle。

  1. 配置Eclipse (STS):
  • Maven (推薦使用)
    •  Select File(選擇檔案)-> Import
    •  Choose (選擇)“Existing Maven Projects”
    •  Select your project(選擇專案)
    •  Click on “Finish”(點選“完成”)

按下一步 (Next)

  • 安裝 m2e connectors
    • 輸入專案後,或會出現一個對話視窗選擇安裝那個“Maven plugin connectors“
    • 如果在輸入專案後出現了錯誤,都是沒有安裝這個附件。只需選擇Quick Fix/按Ctrl+1(Cmd的+1在Mac)上的錯誤標記,並選擇“Discover new m2e connectors”來安裝。
    • 排除Node_modules及其他不用驗證檔案目錄,以免產生驗證錯誤
    • 右鍵單擊專案 - >屬性 - >資源 - >資源過濾器
    • 選擇:全部排除,適用於資料夾,名稱相匹配“node_modules“
    • 按“OK”
    • 排除JavaScript及其他不用驗證檔案目錄,以免產生驗證錯誤
    • 右鍵單擊專案 - >屬性 - >Javascript - >包含路徑
    • 點選“source”選項卡,選擇專案/ src/main/webapp
    • 選擇“Excluded:(None) - >編輯 - >新增多個(以下全部是)
    • 選擇bower_components和scripts,然後單擊“確定”
    • 排除包括(.TMP/; node_modules/; src/main/webapp/dist )

     注意:其實可以不必理會這些驗證錯誤,乾脆把這些錯誤刪除就是,就不用這樣煩。

  • Gradle
    • 在 Eclipse Marketplace 下載及安裝 “Gradle Integration for Eclipse”
    • 選擇輸入專案後,單擊 “build.gradle”, 然後單擊“確定”
    • 建議不在 Eclipse 執行專案,只作修改之用。可在終端 terminal測試及執行。

Kenlen 專案Maven結構體如下:

Kenlen 專案client結構體如下:

簡單總結一下

不少成功的祕訣教導:若要在這競爭性越來越強的世界裡,需要先人一步; 光做到自強不息是不夠的,必須藉助比自己能力強而累積來的經驗,相信這樣一定會事半功倍!或者說現今科學發達,日新月異,資訊繁多,怎麼樣才容易跟上? 筆者以為: J潮客就是一個好好學習的例子。基本上,祇用半小時的工作就能得出六星期的工作效果。Kenlen專案有140MBs 資料, 4千多個檔案。 有人統計過:一個完成的Java專案祇需要編輯1200條程式碼,其餘91%的全是由J潮客編制而成的。 各位可以親自經歷一下吧! 筆者會分數期與各位分享J潮客的經驗。 例如怎麼樣增添網頁;模型實體,業務介面邏輯 ;  Javascript 動畫等等。更深入地討論資料庫的應用。不少高大上的專案都是沿J潮客的途徑而進行的。光是在法國就有一間公司, 內有數百名專家以J潮客方式來完成專案工作。

 Kenlen 專案採用各技術版本記錄:

Spring Boot 1.3.5, Spring 4.2.6, Metric 3.2.1, hibernate 4.3.11, AngularJs 1.5.5, MySQL 5.7.12

怎樣使用壓縮附件:

下載後,解壓在適當磁碟的目錄裡。安裝kenlen.sql到MySQL內,開啟一個終端 terminal或 管理員權益cmd,輸入指令:

./mvnw (ios) 或 ./mvn spring-boot:run

    mvn (Window 8/10) 或mvn spring-boot:run

最後螢幕出現:

         ----------------------------------------------

         Application 'kenlen' is running! Access URLs:

         Local:                  http://127.0.0.1:8080

         External:    http://192.168.11.5:8080

 ----------------------------------------------

祇需要在常用的瀏覽器輸入:localhost:8080

瀏覽器上就會出現Kenlen應用模版首頁如上面的。

注意: Kenlen壓縮附件已經是完成就緒的開發程式模版。上述所描述的步驟是開發一個全新的專案程式。如果不能啟動的話,首先考慮是否資料庫密碼問題。修改資料庫使用者名稱稱和密碼是在該檔案內:

   src/main/resources/config/applicationtion-dev.yml

用一般editor開啟,在datasource下面(line 23-24)username, password. 請根據本身的規定改正後儲存。不然就是本身開發環境不健全吧。該說都全說了!

附上隨文例子程式碼,以供學習參考,下載後敬請贊助。如果您覺得本文的內容對您的學習或工作有所幫助,您可以贊助來支援我,您的認同就是我動力!支付微信在頂部。多少不拘,5元,10元,20元。。。心意而已!

http://files.cnblogs.com/files/sam8881-Blogs/kenlen1.zip

相關推薦

jHipster 3.4 建立流行Java Web應用專案簡單入門基本教程

轉自:http://www.cnblogs.com/sam8881-Blogs/p/5630976.html jHipster(J潮客)其亮點: 風頭超勁,席捲歐美,最新全能Java Web開發程式產生器 (java web generator)。由Java專家累

JHipster建立Java Web應用(圖文)

簡介J潮客 J潮客(jHipster)是什麼東西? 是誰開始的?其實J潮客是開源技術, 在2013年由法國Java專家 Julien Dubois (朱利安 杜波爾斯)率先倡導,至今仍是J潮客專案主導者。簡易直說它是工具集堆綜合技術,意思是由多種技術工具配置而

阿裏雲CentOS7.3配置Java Web應用和Tomcat步驟

tail linux .com 一點 doc document centos7.3 cat java web 阿裏雲的Linux系統包括CentOS7.3配置了密鑰對 怎樣將自己ECS實例綁定密鑰對,並啟用秘鑰: https://help.aliyun.com/docume

詳解CentOS7.4搭建Tomcat構建Java Web站點(內附源碼包)

pack ++ lld pan c-c++ shutdown 客戶端 gre cdd Java簡介 Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++裏難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為

web伺服器&應用伺服器(Apache、Tomcat、nginx) Apache HTTP Server,我們常常稱之為httpd,即常說的Apache。它是目前流行web伺服器。

現在也沒有特別搞懂他們之間的區別,只是有個大概的理解,可能會有不對的地方,隨時更新吧。 前提得搞明白代理伺服器和反向代理伺服器的區別。 一、web伺服器 Apache HTTP Server,我們常常稱之為httpd,即常說的Apache。它是目前最流行的web伺服器。 Apache

Flask 框架 是 Python 中流行Web 框架之一

Flask 是 Python 中最流行的 Web 框架之一,以小巧、靈活、可擴充套件性強著稱, 熟練掌握Flask 框架,深入解析Flask 框架的精髓,希望掌握Flask 最佳實踐專案。 Flask Web 開發入門 https://funhacks.gitbooks.io/he

IDEA建立併發布Java-Web專案

ps:在IntelliJ IDEA裡面“new Project”就相當於eclipse裡的“workspace”,而“new Module”才是建立一個工程。 1,建立專案:檔案 - >新建 -

受歡迎的Java web應用伺服器之一——Tomcat監控選型及實踐

監控選型   Tomcat Manager和Psi-probe是不錯的視覺化監控工具,能夠很好地檢視Tomcat狀態資訊(比如單位時間請求數,執行緒狀態等)。在生產環境中,隨著Tomcat例項的不斷增加,維護不同例項上的Manager控制檯會顯得有些繁瑣,同時,為了與企業監控系統、

使用idea建立一個Maven java Web專案

使用idea建立Maven java Web專案的步驟比eclipse要稍微凌亂一些,下面我們來逐步建立一個Maven java Web專案 1.新建專案 輸入專案座標 可以選擇自己的maven,也可以用idea自帶的maven 輸入專案名和專案的儲存位置,點

intellij ideal 2018建立maven式Java Web

有幾次體驗intellij 的機會,發現這個工具真真的好用。 網上蕩了幾個intellij ideal建立maven式Java Web的博文,發現描述的不是特別的清楚。這裡根據自己的操作,一步一步使用intellij ideal來建立一個maven式的Java web 工程

MyBatis 3.4.6 釋出,Java 資料持久層框架

MyBatis 3.4.6 釋出了。主要更新內容如下:提升將自定義ResultHandler應用於CURSOR型別OUT引數。 #493在包含的SQL片段的屬性值中替換變數。 #1069BatchExecutor現在在執行後立即關閉每個語句。 #1110現在可以使用靜態方法作為SQL提供程式。 #1131SQ

IntelliJ IDEA 簡單配置搭建Spring MVC Java web Maven專案

原文地址:http://blog.csdn.net/qq_27093465/article/details/68961393 使用這個IntelliJ IDEA建立一個簡單的Java web maven專案,我在前面的文章裡面已經示範過了。 先看下專案目錄

IntelliJ IDEA 14.x與Tomcat整合,建立並執行Java Web專案

[摘要:之前剛最先寫JSP時,碰到一些IDEA戰Tomcat的散成題目,找的材料那篇是最相符請求的,特地轉了~感謝本文做者啦!!~ 建立Web專案 1、File -> New Project ,進進建立專案窗心] 之前剛開始寫JSP時,遇到一些IDEA和Tomca

MVC模式在Java Web應用程序中的實例分析

rip run writer fault esp 身份驗證 int 網站 table 結合六個基本質量屬性 可用性: 異常 可修改性: 1.維持語義的一致性,高內聚低耦合 2.維持現有的接口,Login依賴LoginIService接口,LoginService依賴ILog

MVC模式在Java Web應用程序中的實例

simple handler hand resolv let handle 增加 獨立 efault 1.可用性 使用SimpleMappingExceptionResolver實現異常處理 只需要在Spring的配置文件applicationContext.xml中增加

Java Web應用集成OSGI

att servlet 不可見 logo install 服務器 system cati 所在 對OSGI的簡單理解 就像Java Web應用程序需要運行在Tomcat、Weblogic這樣的容器中一樣。程序員開發的OSGI程序包也需要運行在OSGI容器中。目前主流的OS

java web用監聽器listener簡單的實現在線統計人數

response pre 工程 zed import javax valueof request context 今天又重新學習了java web的基礎 監聽器技術,用sessionListener簡單的實現了網頁統計在線人數 (有一個bug就是當關閉網頁的時候 se

Java Web應用中支持跨域請求

通過 sca info def gist time 並且 tomcat json 轉載:https://blog.csdn.net/lmy86263/article/details/51724221 由於工程合作開發的需要,後臺的應用要能支持跨域訪問,但是在這個跨域

VRay 3.4 for SketchUp | HDRI照明技術應用(附HDRI貼圖集下載)

作者 | 活力網Caigle 今天Caigle將與大家分享《HDRI照明技術應用》 我們來看看最終成果 麻雀雖小,五臟俱全 Caigle將完整為你演示整個過程 關於構圖、布光、材質與後期 當然課程最核心的技術是HDRI照明技術 下圖僅利用圖一HDRI,就實現圖二的成果

VRay 3.4 for SketchUp 代理物體的應用

作者 | 活力網Caigle 代理物體技術的應用讓全模型渲染成為可能。 可以解決場景中的大量植物、 大面積草地、面數多的複雜物件的渲染問題 而不用佔用太多系統資源。 我們先來看看 用代理物體實現的大面積樹林效果 這是通過VRay 3.4 for SketchUp的代理