領先一步
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* 註解是 "source retention"。這表示它們不會出現在 .class 檔案中,反映了 Roo 的 "零鎖定" 和 "無執行階段" 策略。此外,您可以透過將其產生的 mixin 原始碼的內容直接複製到您的 .java 檔案中來輕鬆擺脫 Roo。實際上,Eclipse 中甚至有一個重構命令可以在幾秒鐘內為您完成此操作!哦,如果您不想編寫 Hello.java 原始碼檔案,您可以只使用兩個 Roo TAB 感知命令來完成它:"entity --class Hello","field String world"。就像我們說的,這一切都非常簡單 (而且也很有趣!)。
Roo 的方法為您提供無鎖定、高效能生產力工具的最佳效果。它只是有效。試用 並親自體驗。或者 前往我們的參考指南,以了解更多關於為何您應該選擇 Roo 作為您的生產力工具。
Roo 非常容易上手。只需按照此頁面上的步驟操作,您就可以在幾分鐘內擁有一個執行中的環境。
Roo 要求您下載並安裝
若要取得 Roo,您可以下載其獨立的命令列 shell 版本,或使用 SpringSource Tool Suite 中內建的版本。您也可以同時下載兩者,並根據您的喜好一起使用它們
如果您下載了獨立的 Spring Roo,只需將其解壓縮到您選擇的位置即可。然後
如果您想觀看安裝 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
哇!您現在擁有一個完整的 Web 應用程式,其中包含 JUnit 測試、Selenium 測試、MVC 前端、Google Web Toolkit 前端。只需使用 "mvn gwt:run" 來使用 GWT 客戶端,或使用 "mvn tomcat:run" 來啟動 Tomcat MVC 前端並使用 https://127.0.0.1:8080/foo/timers 檢視。
接下來,您可能想要輸入 "mvn eclipse:eclipse",然後使用 Eclipse 的 "General > Import Existing Project into Workspace" 功能。讓 Roo shell 保持運行,並隨意在 Eclipse 中編輯。您會看到 Roo 在運行時維護您的檔案。如果您在沒有 Roo 運行的情況下更改任何內容,請不要擔心 - 只需載入 Roo,它就會趕上您更改的任何內容。
如果您安裝了 SpringSource Tool Suite,只需使用 File > New > Roo Project。然後輸入 "Foo" 的 "project name" 和 "com.foo" 的 "package"。點擊 "Next" 和 "Finish" 後,您會看到 Roo shell 在 STS 底部載入。然後輸入與我們在 "First Project (Roo standalone)" 區段中看到的相同命令,您可以透過 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 保證的 24 x 7 x 365 選項。
Roo 社群由成千上萬使用 Roo 的人組成,範圍從 Java 初學者到 JavaOne 的明星開發者,以及介於兩者之間的每個人!Roo 社群具有包容性、友善性,並熱烈歡迎您的參與。我們不僅會幫助您學習 Roo,我們也很樂意協助您提供使用技巧、路線圖資訊和架構建議。此頁面詳細說明了參與 Roo 社群的方式。我們期待收到您的來信!
追蹤 @SpringRoo 以取得最新的官方新聞和版本公告。如果您對 Roo 的開發進度和其他有趣的更新感興趣,我們也鼓勵您追蹤 Roo 專案團隊工程師。
如果您在 Twitter 上發布關於 Roo 的推文,請在訊息中包含 #SpringRoo(請勿使用 #roo 或類似標籤)。這將幫助其他人找到您的推文,並且此頁面和我們首頁上的 Twitter 小工具也會找到它。請透過這種簡單快捷的方式讓我們(和其他人!)知道您對 Roo 的看法。
Roo 社群論壇是與社群其他成員溝通的主要方式,內容包括 Roo 入門、使用建議、架構協助、路線圖資訊和可能的錯誤。您也會發現這是聯繫 Roo 核心專案工程師的簡單方法,他們都活躍於社群論壇,並樂於與您討論路線圖和詳細的 Roo 內部結構。
如果您喜歡 Roo,請讓其他人知道!最簡單的方法是直接在 Twitter 上使用 @SpringRoo,但其他方法可能包括內部公司簡報、用戶組演講、會議議程等等。Roo 很高興被呈現出來,因為它非常適合演示,而且我們還有很多免費提供且定期更新的簡報資料供您使用(只需在社群論壇上聯絡我們)。如果您已經發表過 Roo 的演講,請告訴我們,我們會盡力寄給您一份小小的 Roo 禮物(感謝 SpringSource,我們通常有一些不錯的東西可以送出)。
我們很快將推出「應用程式展示」,向其他人展示人們使用 Roo 開發的應用程式。如果您已經使用 Roo 建構了一個應用程式,並且想提供螢幕截圖和一兩句話的簡短描述,請透過論壇與我們聯繫。
如果您發現錯誤或有功能構想,請將其記錄在我們的 Issue Tracker 中。我們的 Issue Tracker 也可用於查找其他人提交的功能、評論需求以及投票選出您認為最有用的功能。這是我們確定增強功能請求優先順序的常用方法。
Roo 核心工程師定期在 SpringSource 團隊部落格上撰寫有關 Roo 的文章。您也可以透過追蹤 Roo 類別直接訪問與 Roo 相關的文章。
如果您想深入研究 Roo 程式碼,第一步是複製我們的 Git 儲存庫並按照根目錄中的 readme.txt 進行操作。我們使用 Maven 來建構 Roo,因此建構您自己的版本非常容易(因為您可能已經為了使用 Roo 而安裝了 Maven!)。您需要的 Git 命令是
git clone git://github.com/SpringSource/spring-roo.git
為 Roo 編寫程式碼的一個簡單方法是開發附加元件。由於 Roo 使用基於 OSGi 的附加元件架構,您可以輕鬆建構可由其他人找到並安裝到其 Roo shell 中的附加元件。
如果您想為 Roo 本身做出貢獻(而不是編寫外部附加元件),我們也非常歡迎。請瀏覽 Issue Tracker 或在社群論壇上發布訊息,概述您有興趣處理的內容,我們將很樂意提供協助。