Spring Roo 團隊很高興地宣佈我們的第一個 1.2.0 里程碑版本已釋出。 Roo 1.2.0.M1 版本延續了 Roo 的願景,即快速輕鬆地構建基於 Spring 的企業 Java 應用程式。 我們傾聽了社群的意見,並在本次釋出中包含了一些最受關注的功能
- 速度提升十倍(!)。 我們知道很多人都在大型專案中使用 Roo,因此我們繼續關注 Roo 內部結構,以確保它能夠平穩快速地執行。 透過關注分析、檔案監控、磁碟 I/O、XML 模型和往返,我們將 Roo 在大型基準專案中的效能提高了 10 倍。
- 現在採用 Apache 許可。 在 Roo 1.0/1.1 中,我們使用 GPL 許可證來鼓勵在 Roo 中進行的任何改進與社群共享。 為了回應反饋,我們已轉向 Apache Software License 2 (ROO-2253),因此您可以完全靈活地在商業和非商業專案中使用 Roo。 這也使 Roo 與大多數其他 Spring 專案保持一致。
- 已遷移到 GitHub。 社交編碼正在興起,GitHub 已成為開源原始碼管理的事實標準網站。 我們很高興將 Roo 的程式碼庫遷移到 GitHub,以便您可以輕鬆地 fork 它、進行更改並提交 pull request。 這將大大簡化接收來自社群的新貢獻。 請檢視 ROO-2708 或訪問 https://github.com/SpringSource/spring-roo 瞭解更多資訊。
- 儲存庫層靈活性。 現在可以定義自己的儲存庫層方法,完全瞭解您在 Roo 管理的 Web 層、整合測試和 data-on-demand 機制中的選擇。 對於那些喜歡比 Roo 1.0/1.1“Active Record”類似模型更傳統的分層方法的人來說,這是一個重要的進步。 當然,仍然保留著早期方法所偏愛的理念,因此 Roo 仍然完全支援在實體中嵌入方便的 Active Record 樣式方法。 您可以在 Pizza-Shop 示例(請參閱發行版的 /samples 目錄)和 ROO-301 中瞭解有關此新功能的更多資訊。
- 服務層。 我們還決定解決另一個備受關注的社群功能:服務層支援。 您現在可以輕鬆新增服務層(透過 Roo "service" 命令),並讓 Roo 管理的 Web 層、整合測試和 data-on-demand 功能使用它。 自定義服務層也可以與自定義儲存庫同時使用,讓您可以完全靈活地構建您喜歡的任何應用程式分層。 您可以在 ROO-340 中閱讀更多資訊,Stefan Schmidt 將很快釋出一篇部落格,提供更多詳細資訊。
- 靈活的 GWT 支援。 現在您可以跳過 UI,只需讓 Roo 管理將您的 RequestFactory 類(EntityProxy、RequestContext 和 Locator)與您的域模型和服務層同步。 以前,GWT UI scaffolding 是強制性的,但在 1.2.0.M1 中,您可以更具選擇性地選擇 Roo 與專案的整合方式。
- MongoDB 支援。 無論您是 Cloud Foundry 使用者,還是隻是 Mongo 愛好者,我們現在都添加了對將實體儲存在 MongoDB 中的支援。 Mongo 是一種快速、分片感知、無模式的文件資料庫,支援 map-reduce,非常適合那些想要將 noSQL 與 Roo 結合使用的人。 在 ROO-2693 中瞭解更多資訊。
- 資料庫逆向工程 (DBRE) 多 Schema 支援。 Roo 中最受歡迎的功能之一是 DBRE 支援,它不僅允許您從關係 schema 中 scaffold 實體模型,還可以隨著 schema 的更改自動維護該實體層。 這採用了一種 schema 優先的開發方法,並且我們知道使用者在具有數百個表的專案中使用 DBRE。 作為 ROO-1408 的一部分,我們添加了對 DBRE 從多個 schema 同時獲取其結構的支援,實際上,您甚至可以擁有不同的 schema 來管理不同 Java 包中的實體。
- Shell 改進。 很多人都喜歡 Roo 的可用性,實際上,該 shell 已經進入了許多其他 VMware 產品。 我們很高興許多小修復已進入 JLine 1.0 (ROO-2608) 進而進入 Roo shell(例如,退格到上一行終於可以工作了!)。 您還可以透過“!”運算子 (ROO-2457) 直接從 Roo shell 執行作業系統命令,並且啟動時的 shell 現在會顯示最新的社群推文 (ROO-2677)。
如您所見,我們對 Roo 1.2 進行了許多增強,並期待您的反饋。 我們在下一個 Roo 1.2 里程碑中還有許多令人興奮的新功能,包括 JSF/PrimeFaces (ROO-516) 支援和 多模組 Maven (ROO-120) 專案支援。 這兩個也是備受關注的社群功能。
請記住,這是一個里程碑版本,因此您應該繼續使用 Roo 1.1.5 用於生產專案。 但是,您可能希望透過試驗隨附的示例專案來探索 Roo 1.2.0.M1 中的這些新功能。
我們希望您喜歡這個新版本。 請透過 社群論壇分享您的經驗,關注 @SpringRoo 獲取最新訊息,或在您的推文中使用 #springroo
Alan Stewart, 專案負責人 - Spring Roo