領先一步
VMware 提供培訓和認證,以加速您的進展。
瞭解更多我們很高興宣布 Spring Roo 1.1.1 正式發佈。這個新版本整合了 超過 250 個修復和增強功能,包括許多效能和功能改進。
一如既往,SpringSource Tool Suite (STS) 2.5.2 也將很快發布,並整合這個新版本的 Spring Roo。您也可以下載 Spring Roo 1.1.1 的獨立版本並立即開始使用。
讓我們簡要瀏覽一下我們在 Roo 1.1.1 中新增的一些更值得注意的增強功能。如果您正在升級基於 Roo 的專案,我們建議您查看我們在 參考指南 中包含的 版本專用升級注意事項。參考指南也包含在下載的 ZIP 檔案中,提供 HTML 和 PDF 格式。
Roo 團隊一直專注於 Roo 的效能、佔用空間和可用性。
已實現一些顯著的效能改進,在許多常見情況下,Roo 現在的執行速度是以前的兩倍。例如,使用 Roo 1.1.0 執行 "roo script clinic.roo" 來建立 Petclinic 範例之前需要 25 秒,但在同一台機器上使用 Roo 1.1.1 僅需 11 秒。我們也持續分析和增強 Roo 內部結構,以便在 1.1.2 中提供 更佳的效能分析和結果。
可用性已透過多種方式得到增強。我們 大幅 擴展 了 文件,特別是關於資料庫反向工程和 JDBC 驅動程式安裝的處理。Roo 1.1.1 還包含幾個新的 shell 功能,使 Roo 更易於使用。這些功能包括 報告錯誤(如果向 Roo 命令提供了不明選項)、不區分大小寫的命令選項解析、更佳的訊息(在命令執行期間)以及 更具資訊性的提示。
我們也稍微減少了 Roo 的佔用空間。Roo 1.1.0 發行版的 ZIP 檔案大小為 7.2 Mb,但 Roo 1.1.1 現在為 6.8 Mb,儘管新增了功能。雖然下載大小的減少幅度不大,但令人高興的是,Roo 並未隨著每個版本而變得更大,而是朝著相反的方向發展。
大多數使用 Roo 的人都在構建企業級 Java 應用程式。持久性是這類應用程式的關鍵需求,因此我們在 Roo 1.1.1 中繼續增強了持久性功能。
Roo 1.1.1 現在更好地支援雲端持久性。特別是,這個新版本 增強了對 VMforce 的支援,包括升級到 Data Nucleus 2.1.3。我們也改進了 Google App Engine (GAE) DataStore 的支援。Roo 現在透過其跨類型宣告 (ITD) 提供 特殊的 GAE 關係處理。這表示您現在可以為 GAE 關聯的物件呼叫存取器和變更器方法,而 Roo 將在內部管理識別碼持久性和物件檢索語意。
Roo 1.1.0 中引入的增量資料庫反向工程 (DBRE) 功能已被證明非常受歡迎,收到了來自社群的大量回饋和對新增強功能的要求。此功能的品質持續提升,新增了對 使用者指定他們想要包含或排除的表格、DBRE 管理實體的自動 整合測試以及對 DBRE 表格之間 多重關係 的支援。
人們在使用 Roo 1.1.0 時經常問我們的一個問題是,如果我們沒有隨 Roo 一起發布 JDBC 驅動程式,該如何內省資料庫。這促使我們發布了一個臨時腳本,人們可以使用它來安裝常見的驅動程式,但這種方法對於每個可用的 JDBC 資料庫驅動程式來說都不切實際。因此,在 Roo 1.1.1 中,我們新增了對透過 Roo 廣泛的附加元件機制 自動發現和安裝任何 JDBC 資料庫驅動程式 的支援。當您第一次在 Roo 1.1.1 中嘗試 DBRE 操作時,如果未安裝 JDBC 驅動程式,您將看到搜尋結果,其中顯示適合您的附加元件,並指示用於安裝它的命令。最棒的是,社群中的任何人現在都可以為不受支援的資料庫製作新的 JDBC 附加元件,並讓所有 Roo 使用者都可使用這些元件。我們甚至新增了一個 新的附加元件建立器範本,專門用於將 JDBC 驅動程式封裝成適合 Roo 附加元件發現的形式。您可以在 參考指南章節 中閱讀有關此新功能的更多資訊。
標準(非雲端、非 DBRE)基於 JPA 的 Roo 應用程式也提供了一些新的持久性功能。這些功能包括支援 同時使用多個資料庫,以及在實體上指定 版本欄位。
我們的兩個內建 Web 技術在 Roo 1.1.1 中都得到了改進。
自 Roo 1.1.0 以來,Google Web Toolkit (GWT) 的支援已得到大幅增強。原始實作中許多查詢的一個來源是如何修改 Roo 管理的程式碼。在 Roo 1.1.1 中,我們現在透過引入偽 ITD 模型全面解決了這個需求。很容易識別 Roo 正在管理的 GWT 原始檔,因為這些檔案採用與正常 Roo 應用程式類似的檔案名稱慣例(即 *_Roo_Gwt.java)。這表示您對檔案所做的任何變更 都將被 Roo 保留。我們也新增了對新 GWT 2.1.1 功能的支援,例如代理實體中的繼承。
使用 Roo 建構 Spring MVC 應用程式的人也將在 1.1.1 中享受到一些新的好處。首先,更全面地支援 JSON REST 控制器。還有一個新的 集中式 ConversionService 來取代先前的控制器專用轉換器,因此如果您正在開發基於 Roo 1.1.0 的 MVC 專案,您應該查閱先前提及的 升級注意事項。增量資料庫反向工程 (DBRE) 相容性也得到了改進,特別是透過 對複合主鍵的 Web 層支援。我們也進行了 內容類型調整,讓您可以更輕鬆地使用 Apache Tiles 以外的範本框架,並升級到 Spring Security 3.0.5。
在 Roo 1.1.0 中 首次引入 的附加元件發現和安裝功能持續改進。您會發現現在有 更佳的附加元件搜尋功能,具有內建關鍵字比對、基於排名的排序、彈性的行格式化、版本相容性和受信任開發人員功能。對於那些 位於 Proxy 伺服器後方 的使用者來說,分散式基於 PGP 的安全基礎架構現在也更具相容性,並且我們已將新的附加元件搜尋功能整合到 shell 的 不明命令解析器 和 JDBC 驅動程式定位器中。所有這些都表示可以更簡單、更輕鬆地找到並安裝 Roo 中的新功能。
附加元件或外掛程式模型中最困難的問題之一是人們如何識別哪些擴充功能值得使用。如果許多工具擴充功能不值得使用、已損壞或未維護,那麼擁有數百個工具擴充功能就沒有意義。我們決定透過讓 Roo 自動收集有關人們正在使用哪些公開附加元件的匿名資訊,並將此彙總資訊整合到附加元件搜尋結果中來解決這個問題。當然,這只有在您同意 Roo 收集此資訊的情況下才會發生,而且在任何時候收集的資訊都不能用於識別您或您的專案。同樣地,Roo 現在也允許社群提供關於他們正在使用的附加元件的 可選回饋(例如評分和評論),並且此回饋包含在附加元件搜尋結果中。這些功能提供了一種非常有效的方法來自動確定附加元件的受歡迎程度,而無需使用者經歷訪問網站進行投票和評論等不便。
Roo 1.1.1 也包含 Spring User Agent Analysis (UAA) 支援。UAA 啟用上述附加元件排名資料收集功能,並幫助我們收集有關 Roo 使用情況的匿名資訊。此資訊極大地協助我們實現互通性(因為我們知道人們在專案中一起使用哪些常見的公開技術)並確定我們路線圖的優先順序。此功能預設為停用,並且在未經您的同意的情況下不會運作。如果您想閱讀更多關於 UAA 及其如何確保您的隱私的資訊,請參閱 UAA 常見問題解答。
最後,Roo 1.1.1 提供了許多新功能和增強功能,以幫助附加元件開發人員建構附加元件。首先,我們透過 "addon create" 命令提供了 更完整的範例。有一些新的實用程式類別用於 在套件中尋找資源,以及 顯示文字檔案 和控制 篩選器定位。可以從主控台輸出中 抑制 執行緒名稱,並且額外支援內部類型和 更複雜的 Java 編譯單元建立。開發模式也提供了許多新功能,例如 深入記錄、用於檔案系統操作的 SHA1 程式碼 以及在發生錯誤時 取消自動復原(以幫助您查看產生的檔案)。中繼資料層面進行了許多增強,包括透過 AbstractMemberDiscoveringItdMetadataProvider 實現的 更佳的中繼資料掃描 模型、更彈性的類別級別 下游解析(適用於 ITD MetadataProvider)以及自動 無限中繼資料迴圈偵測和重試 功能。最後,我們增強了許多檔案系統內部結構,例如 延遲檔案寫入 甚至 延遲檔案刪除,這有助於在多次傳遞中建立複雜的 ITD 中繼資料。
所有這些增強功能都使編寫附加元件變得更容易,這些附加元件可以解決非常複雜的 ITD 和中繼資料需求,但效能仍然非常出色且易於偵錯。Roo 1.1.2 中也即將推出(並且已在 Git master 中)顯著 增強的中繼資料記錄,如果您正在處理基於 ITD 的附加元件,您可能會對此感興趣。
我們探索了 Spring Roo 1.1.1 中包含的 250 多個修復和增強功能中的一部分。無論您是使用 Roo 建構企業專案,還是為 Roo 社群建構附加元件,我們的目標都是在這個新版本中顯著改善您的 Java 開發體驗。
別忘了 STS 2.5.2 將在幾個小時後發布,並將嵌入 Roo 1.1.1 和其他有助於開發基於 Roo 的應用程式的技術。您也可以立即 下載 Roo 1.1.1 並開始使用。
如果您對這個新版本有任何疑問,請在 Spring Roo 社群論壇 上提出。您也可以透過 Twitter 追蹤開發團隊 成員以獲取最新的開發更新,並 追蹤 @SpringRoo 以獲取未來的發布公告。請在您發佈任何關於 Roo 的推文中使用 #springroo,以便其他人可以輕鬆看到它們。
我們希望您喜歡這個新版本。