領先一步
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使用者。
作為這項工作的一部分,Roo 現在會自動從我們的新倉庫(http://spring-roo-repository.springsource.org/repository.xml)下載 OBR 索引。作為 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 基礎設施感到非常高興(但我猜我的極客 Acegi Security/Spring Security 背景在這裡顯露無遺!)。
在我們宣佈 Milestone 3 時,我會更詳細地介紹這個新基礎設施的工作原理,因為 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 Maps、Flickr 照片等類似媒體資源嵌入到您的 web 檢視中(總共目前支援 15 種不同的資源型別,涵蓋從照片分享到金融更新等等)。
如果您對我們的釋出日期感興趣,可以透過訪問 http://tinyurl.com/rooroadmap 進行跟蹤。當然,這些日期會隨著我們的開發進展(以及相關專案的日期調整)而修訂,但它們能給您一個很好的指示。
關於 Roo 社群的一些其他有趣公告
我們希望您喜歡這個新版本!請透過 @SpringRoo 或 社群論壇 告訴我們您的想法。