領先一步
VMware 提供培訓和認證,助您加速發展。
瞭解更多Spring Roo 是一款輕量級的開發者工具,能夠快速輕鬆地交付即時成果。最棒的是,您 100% 使用 Java 編碼,並且可以重用您現有的所有 Java 知識、技能和經驗。您會喜歡它的——而且也會從中獲得很多樂趣!閱讀 TomTom 如何使用 Spring Roo 將開發時間縮短一半。
下載 Josh Long 和 Steve Mayzak 撰寫的圖書:Getting Started with Roo。您也可以從 O'Reilly 網站購買按需印刷版或其他格式的圖書。
Ken Rimple 和 Srini Penchikala 還撰寫了權威的 Roo 參考書,書名為 Spring Roo in Action,可從 Manning Publications 購買。
使用 Roo 構建基於 JPA 的 MVC 應用輕而易舉,它也讓您輕鬆進入下一代技術。我們已經支援 Google Web Toolkit (GWT) 用於先進的下一代使用者介面、Solr 用於搜尋伺服器整合以及 Google App Engine 等雲部署等很酷的特性。此外,我們還在積極開發增量資料庫自省、Flex、Spring Integration 等更多功能。
SpringSource 和 Google 正在合作,將 Spring Roo 的開發速度與 Google Web Toolkit (GWT) 的強大功能結合起來,構建豐富的瀏覽器應用。立即嘗試 Spring Roo 1.1 中提供的令人興奮的 GWT 和 Google App Engine 支援。
使用 Roo,您仍然完全用 Java 程式設計。其創新方法完全在編譯時執行,並與您的 IDE 完全相容。此外,由於沒有執行時部分,採用也更簡單、風險更低。您的所有 Java 開發人員都會感到舒適,並從第一天起就富有生產力。Roo 真正代表了不打折扣的生產力。
Spring Roo 是一款面向 Java 開發人員的下一代快速應用開發工具。使用 Roo,您可以在幾分鐘內輕鬆構建完整的 Java 應用。它與其他生產力工具的不同之處在於專注於:
|
|
Roo 讓您可以輕鬆快速地訪問所有重要的主流 Java 技術,這些技術對於構建複雜的企業應用至關重要。以下只是 Roo 專案可以即時利用的一些技術(還有更多由第三方附加元件支援,或者您可以自己編寫附加元件):
|
|
|
Roo 的創新方法沒有任何妥協
簡而言之,Roo 是一個輕量級的控制檯 shell,您在開發專案時載入它。雖然 Roo shell 可以用一個快速命令完成耗時的操作,但大多數時候您只會忽略 Roo,然後在您的 IDE 或文字編輯器中開發您的專案。
當您以正常方式編輯程式碼時,Roo 會監控您的專案檔案,並根據您的操作自動修改它們。根據您執行的 Roo 附加元件,Roo 可以幫助您處理不同型別的檔案。例如,Roo 的 JPA 附加元件意味著您可以編寫一個非常簡單的 Hello.java 檔案,如下所示:
@RooJpaActiveRecord public class Hello { private String world; }
您可能會想,一個只有單個私有欄位的 Java 類有什麼用呢?嗯,用處不大。但是 Roo 透過使用編譯器的“mixins”特性在編譯時(而非執行時)向 .class 檔案中新增額外的好東西來解決這個問題。這意味著 Hello.class 實際上包含大量有用的成員,而所有這些都不需要您自己費力去編寫——或維護、除錯和測試
public class Hello { private String world {..} public String getWorld() {..} public void setWorld(String world) {..} public Long getId() {..} public void setId(Long id) {..} public Integer getVersion() {..} public void setVersion(Integer version) {..} public String toString() {..} public void persist() {..} public void remove() {..} public void flush() {..} public static Long countHellos() {..} public static Hello findHello(Long id) {..} public static List findAllHellos() {..} public static List findHelloEntries(int start, int finish) {..} // there are even more methods }
Roo 方法的巧妙之處在於,您的 Hello.java 檔案沒有任何冗餘程式碼和工作量,但您的 Hello.class 檔案卻非常有用,並且與您的 IDE(程式碼輔助、除錯等)和執行時環境完全相容(沒有 Roo 依賴或其他妥協)。此外,因為它只是一個普通的 Java 類,它在執行時表現出色,並且不消耗額外的執行時記憶體。Roo 完全支援往返編輯,並在您開發實體時維護 mixins。例如,如果您新增另一個欄位,Roo 會立即生成 getter/setter 並更新 toString() 方法。如果您新增一個 @Id 欄位,Roo 將停止生成其識別符號欄位,您的將優先。如果您自己編寫 toString() 方法,您的當然會使用,而 Roo 的將消失。實際上,如果您註釋掉您的 toString() 方法,Roo 的將立即返回。這一切都非常簡單(而且也很有趣!)。
上面並非立即顯而易見的更細微的因素是,@Roo* 註解是“原始碼保留”的。這意味著它們不會出現在 .class 檔案中,這反映了 Roo 的“零鎖定”和“無執行時”策略。此外,您可以透過將生成的 mixin 原始碼內容直接複製到您的 .java 檔案中來輕鬆擺脫 Roo。實際上,Eclipse 中甚至有一個重構命令可以在幾秒鐘內為您完成此操作!哦,如果您不想編寫 Hello.java 原始碼檔案,您也可以只使用兩個支援 TAB 補全的 Roo 命令來完成它:“entity --class Hello”、“field String world”。就像我們說的,這一切都非常簡單(而且也很有趣!)。
Roo 的方法為您提供了無鎖定、高效能生產力工具的最佳體驗。它就是能用。試一試,親身體驗一下。或者查閱我們的參考指南,瞭解更多關於為什麼選擇 Roo 作為您的生產力工具的原因。
開始使用 Roo 非常容易。只需按照本頁上的步驟操作,您就可以在幾分鐘內擁有一個執行環境。
Roo 需要您下載並安裝
要獲取 Roo,您可以下載其獨立的命令列 shell 版本,或使用 SpringSource Tool Suite 中內建的版本。如果您願意,也可以下載兩者並一起使用
如果您下載了獨立的 Spring Roo,只需將其解壓縮到您選擇的位置。然後
如果您想看看安裝 Roo 後使用它有多麼容易,這個影片將向您展示。或者,完成以下步驟並自己嘗試。
讓我們構建一個專案。我們將省略以下步驟中的控制檯輸出。我們還強烈建議您在每個步驟後輸入“hint”,以幫助學習使用 shell。請注意,您需要 Roo 1.2.0 或更高版本才能執行這些命令
mkdir hello cd hello roo roo> hint roo> project --topLevelPackage com.foo roo> jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
roo> entity jpa --class ~.Timer --testAutomatically roo> field string --fieldName message --notNull roo> hint web mvc roo> web mvc setup roo> web mvc all --package ~.web roo> selenium test --controller ~.web.TimerController roo> web gwt setup roo> web gwt all --proxyPackage ~.client.proxy --requestPackage ~.client.request
roo> perform tests roo> quit
哇!您現在擁有了一個完整的 webapp,包含 JUnit 測試、Selenium 測試、一個 MVC 前端和一個 Google Web Toolkit 前端。只需使用“mvn gwt:run”來玩轉 GWT 客戶端,或使用“mvn tomcat:run”啟動 Tomcat MVC 前端並在 https://:8080/foo/timers 檢視。
接下來,您可能想輸入“mvn eclipse:eclipse”,然後使用 Eclipse 的“General > Import Existing Project into Workspace”功能。讓 Roo shell 保持執行,並隨意在 Eclipse 中編輯。您會看到 Roo 在執行時會維護您的檔案。如果您在 Roo 未執行時更改了任何內容,不用擔心——只需啟動 Roo,它就會同步您所做的任何更改。
如果您安裝了 SpringSource Tool Suite (STS),只需使用 File > New > Roo Project。然後輸入“專案名稱”為“Foo”,“包名”為“com.foo”。點選“下一步”和“完成”後,您將在 STS 底部看到 Roo shell 載入。然後輸入與“第一個專案 (獨立 Roo)”部分相同的命令,您就可以輕鬆透過 WTP 執行應用了。
我們提供了一份詳細的參考指南來幫助您入門。以下章節可能會有所幫助:
我們讓學習 Roo 變得容易。有許多資源可以幫助您自由學習 Roo 或獲得一些幫助。
在繼續之前,我們建議您閱讀入門頁面並按照那裡的第一個步驟操作。在這裡,您將學習如何安裝 Roo 並建立您的第一個專案。還有連結到參考指南的重要章節,以幫助您入門。
Roo 下載包中包含超過 100 頁的 Roo 參考文件,以幫助您。該指南主要有四個部分:歡迎來到 Roo、基本附加元件、內部原理和附加元件開發,以及附錄。完成入門頁面後,這是最好的入門資源。
訪問社群頁面,瞭解與更廣泛的 Roo 社群聯絡的多種方式。這不僅是瞭解 Roo 的好方法,而且也非常有趣和友好。
透過專案連結頁面可以找到大量關於 Spring Roo 的影片和可下載的簡報。如果您想做關於 Roo 的演示,也請隨時聯絡 Spring Roo 專案工程師,我們將很樂意提供最新的幻燈片和路線圖資訊,以進一步協助您。
Manning 出版了《Roo In Action》一書。訪問 http://www.manning.com/rimple 或關注 @RooInAction 獲取最新更新。
Packt Publishing 出版了 Ashish Sarin 撰寫的《Spring Roo 1.1 Cookbook》。
O'Reilly 出版了《Getting Started with Roo》。您也可以下載該書的開源版本。這本書更多是一份簡潔的介紹,而非參考文字。
SpringSource (VMware 的一個部門) 提供全面、現場和公開的培訓課程,涵蓋 Spring 平臺,包括 Roo。如果您正在尋找關於 Roo 的詳細定製課程,SpringSource 也可以協助您。
SpringSource 還提供短期專業服務。常見的服務包括設計評審、架構建議和指導服務。
SpringSource 提供全面的開發者和生產支援訂閱。其中包括針對關鍵任務環境的 SLA 支援的 24x7x365 選項。
Roo 社群由數千名正在使用 Roo 的人組成,從初級 Java 開發人員到 JavaOne 明星人物——以及介於兩者之間的所有人!Roo 社群包容、友好,並熱烈歡迎您的參與。我們不僅會幫助您學習 Roo,也很樂意提供使用技巧、路線圖資訊和架構建議。參與 Roo 社群的方式在本頁面有詳細說明。我們期待您的加入!
關注 @SpringRoo 獲取最新的官方新聞和釋出公告。如果您對 Roo 的開發進展和其他有趣的更新感興趣,我們也鼓勵您關注 Roo 專案團隊工程師。
如果您發表關於 Roo 的推文,請在訊息中包含 #SpringRoo(請勿使用 #roo 或類似標籤)。這將有助於其他人找到您的推文,並且會被本頁面和我們主頁上的 Twitter 小工具發現。請透過這種簡單快捷的方式讓我們(以及其他人!)知道您對 Roo 的看法。
Roo 社群論壇是與社群其他成員溝通關於 Roo 入門、使用建議、架構幫助、路線圖資訊和潛在 bug 的主要方式。您也會發現這是聯絡 Roo 核心專案工程師的便捷途徑,他們都在社群論壇上很活躍,並樂意與您討論路線圖和 Roo 的詳細內部原理。
如果您喜歡 Roo,就告訴其他人吧!最簡單的方法是直接在 Twitter 上 @SpringRoo,但其他方式也可以包括公司內部演示、使用者組講座、會議演講等。Roo 非常適合演示,因為它對演示非常友好,此外我們還有大量免費提供並定期更新的演示材料供您使用(只需在社群論壇上聯絡我們)。如果您已經做過關於 Roo 的演示,請告訴我們,我們會嘗試送您一份 Roo 小禮物(通常我們有一些不錯的禮品,這要感謝 SpringSource)。
我們將很快推出“應用展示”頁面,向其他人展示使用 Roo 開發的應用。如果您使用 Roo 構建了應用,並希望提供截圖和一兩句簡短介紹,請透過論壇與我們聯絡。
如果您發現了 bug 或有功能想法,請在我們的問題跟蹤器中記錄。我們的問題跟蹤器也可以用來查詢其他人提交的功能、對需求進行評論以及為您認為最有用的功能投票。這是我們確定改進請求優先順序的一種常見方式。
核心 Roo 工程師定期在 SpringSource 團隊部落格上發表關於 Roo 的文章。您也可以透過關注 Roo 分類直接訪問與 Roo 相關的文章。
如果您想深入研究 Roo 程式碼,第一步是克隆我們的 Git 倉庫並按照根目錄中的 readme.txt 進行操作。我們使用 Maven 構建 Roo,因此構建您自己的發行版本非常容易(因為您可能已經安裝了 Maven 來使用 Roo!)。您需要的 Git 命令是:
git clone git://github.com/SpringSource/spring-roo.git
為 Roo 編寫程式碼的一個簡單方法是開發附加元件。由於 Roo 使用基於 OSGi 的附加元件架構,您可以輕鬆構建可以被其他人找到並安裝到他們的 Roo shell 中的附加元件。
如果您想為 Roo 本身貢獻程式碼(而不是編寫外部附加元件),也非常歡迎。檢視問題跟蹤器或在社群論壇上釋出訊息,概述您感興趣的工作內容,我們將很樂意提供幫助。