領先一步
VMware 提供培訓和認證,以加速您的進展。
了解更多我很榮幸地宣布,我們剛剛發布了 Spring Roo 1.1.0.M2 版本(在此下載)。我們也同時發布了 SpringSource Tool Suite 2.3.3.M2 版本,它提供了與這個新 Spring Roo 版本的最新整合。對於生產環境使用,我們建議您繼續使用 Spring Roo 1.0.2 版本,儘管我們知道有非常多的人也樂於使用 Roo 1.1.0 開發版本。
那麼,新的 Spring Roo 1.1.0 Milestone 2 版本包含了什麼呢?嗯,自從 Milestone 1 以來,已經有 140 個修復、改進和增強功能。一些重點包括:
Spring Roo 1.1.0.M2 還具有大量增強功能,為所有重要的附加元件探索和管理功能做準備。Roo 團隊高度致力於協助建立一個充滿活力的 Roo 附加元件生態系統,這將使許多希望獲得核心 Roo 發行版中未包含功能的使用者受益。
作為這項工作的一部分,Roo 現在會自動從我們新的儲存庫下載 OBR 索引,http://spring-roo-repository.springsource.org/repository.xml。作為 Roo 使用者,您不太可能看到太多 OBR 基礎架構(因為它只是運作!),但很高興知道 OBR 為 Roo 提供了一種符合 OSGi 標準的方式來探索可用的附加元件、解析它們的依賴關係、將它們下載到您的 Roo 環境並自動啟動它們。這意味著 Roo 使用者受益於工業級、符合 OSGi 標準的方式來管理附加元件,而且隨著越來越複雜的附加元件提供給 Roo 社群,我們不會遇到障礙。
Roo 也透過將 OBR 元資料直接整合到 shell 命令解析中來擴展了 OBR 功能。這表示如果您輸入的命令是目前未安裝的附加元件的一部分,Roo 將自動建議您可以提供該命令的附加元件!我很樂意承認這個特殊功能是受到我使用 Ubuntu 的啟發,因為只需輸入任何隨機命令,系統就會告知您需要輸入的單行安裝命令來安裝該命令,這非常有用。
雖然這種新的 OBR 支援和 shell 命令探索當然非常好,但我們也希望確保我們可以為 Roo 社群提供方便的附加元件託管。但是要正確地做到這一點,意味著我們需要仔細考慮安全性影響。
我們透過在 Roo 1.1.0.M2 中添加廣泛的 PGP 金鑰管理功能來解決附加元件安全性問題。這些功能允許您明確指出您信任哪些開發人員簽署 Roo 將下載到您電腦的軟體。Roo 本身現在在每個版本中也經過 PGP 簽署。為了支援這些功能,我們在 Roo 中引入了一個名為 httppgp:// 的新協定處理器。這告訴 Roo 給定的 HTTP URL 也具有可用的 PGP 分離式裝甲簽章。
透過要求所有附加元件都必須有 PGP 簽章,我們能夠方便且安全地為社群託管所有 Roo 附加元件。是否信任給定的 PGP 金鑰取決於您,如果不信任該金鑰,Roo 將拒絕花時間下載 httppgp:// 資源。我們也實作了這種架構,因此我們不需要更改 Apache Felix 的 OBR 基礎架構,也不強迫每個人都使用我們的中央附加元件託管功能。這意味著我們受益於未來 Felix 版本中 OBR 的改進,而且您可以在自己的 OBR repository.xml 檔案中使用 httppgp:// URL 完全沒問題。Roo 的方法也意味著您也可以使用獨立的 PGP 工具(如 GnuPG)執行與簽章相關的操作,以獨立驗證 Roo 的正確運作。正如您所見,我對新的 PGP OBR 基礎架構感到非常高興(但我猜我那些 Geeky 的 Acegi Security/Spring Security 背景正在顯現!)。
當我們發布 Milestone 3 時,我將更詳細地討論這個新基礎架構如何運作,因為它將包含完整的附加元件終端使用者介面。此外,我們還將推出我們新的後端工具,該工具可協助自動化將附加元件發布到中央儲存庫(稱為 RooBot)。如果您迫不及待想使用新的終端使用者介面,請嘗試 "pgp list trusted keys" 命令,以查看 Roo 預設信任哪些金鑰。也可以在 Roo 提示字元下嘗試輸入 "welcome property",以查看 Roo 如何建議目前未安裝的附加元件,這些附加元件提供 "welcome property" 命令。如果您真的想查看 httppgp:// 基礎架構的運作情況,請嘗試取消信任我的 PGP 金鑰 (pgp untrust --keyId 00B5050F),然後嘗試安裝 welcome 附加元件 (osgi obr start --bundleSymbolicName org.springframework.samples.roo.welcome)。
儘管 Roo 1.1.0.M2 中有所有這些很棒的新功能,但我們也一直非常忙於準備其他未納入 Milestone 2 版本的功能。
許多人熱切期盼的功能之一是 增量資料庫逆向工程。此功能請求現在已獲得超過 113 票,並且實作已經支援 Java 編譯單元生命週期管理、增量欄位維護、複合主鍵和大多數關係類型 (1:M、M:M、1:1)。我們預計此功能將包含在 Roo 1.1.0.M3 中,但如果您想走在最前端,您可以透過從 Git 建置 Roo 來進行實驗。
我們一直在開發的其他一些有趣的功能包括 Op4J 附加元件、非常棒的 自動 Git 附加元件,以及一些 Web 嵌入命令。Op4J 附加元件可讓您大幅減少需要編寫的程式碼量,而不會失去 Java 的型別安全、程式碼輔助和效能優勢。自動 Git 附加元件將您執行的每個 Roo 命令變成一個單獨的 Git 提交,這對於查看 Roo 正在做什麼以及能夠選擇性地回滾等非常棒。Web 嵌入命令非常出色,可讓您透過一個 Roo 命令將 YouTube 影片、SlideShare 簡報、Google 地圖、Flickr 照片和類似媒體等資源整合到您的 Web 視圖中(目前支援總共 15 種不同的資源類型,涵蓋從照片分享到金融更新以及介於兩者之間的一切)。
如果您對我們的發布日期感到好奇,您可以造訪 http://tinyurl.com/rooroadmap 來追蹤它們。當然,這些日期會隨著我們的開發進度而修訂(以及相關專案也同樣修訂了它們的日期),但它們為您提供了一個很好的指示。
Roo 社群的其他一些有趣的公告
我們希望您喜歡這個新版本!請透過 @SpringRoo 或 社群論壇 告訴我們您的想法。