領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多Spring Roo 是一個輕量級的開發工具,可以快速輕鬆地獲得即時結果。最棒的是,您完全用 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
太棒了!您現在擁有了一個 Web 應用程式,其中包含 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,只需使用 File > New > Roo Project。然後輸入“Foo”作為“project name”,輸入“com.foo”作為“package”。單擊“Next”和“Finish”後,您會看到 Roo shell 載入到 STS 的底部。然後輸入與我們在“第一個專案 (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、使用建議、架構幫助、路線圖資訊和可能存在的 bug 的主要方式。您還會發現這是一種輕鬆接觸 Roo 核心專案工程師的方式,他們都活躍在社群論壇上,並樂於與您討論路線圖和 Roo 的詳細內部原理。
如果您喜歡 Roo,請告訴其他人!最簡單的方法就是用 @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 本身(而不是編寫外部外掛)做出貢獻,我們也熱烈歡迎。請檢視問題跟蹤器,或在社群論壇上釋出一條訊息,概述您有興趣從事的工作,我們將樂意為您提供幫助。