我很高興地宣佈我們剛剛釋出了 Spring Roo 1.1.0.M1。Spring Roo 是 Java 開發人員使用 Java 程式語言構建基於 Spring 的應用程式的最快方式。使用 Roo 1.1.0.M1,您可以在短短 200 次擊鍵內構建工作正常的 Web 應用程式——包括一個 Google Web Toolkit (GWT) 前端!此外,我們還一如既往地同時釋出了新版本的 SpringSource Tool Suite (STS 2.3.3.M1),該版本針對最新和最棒的 Roo 功能進行了最佳化!
自我們三個月前釋出 1.0.2 版本以來,已有超過 200 項修復、增強和新功能。亮點包括:
- 顯著改進的 Spring MVC 整合:這些改進意味著 Roo 1.0.2 中 130 行的 JSPX 檔案現在僅需 12 行。更棒的是,現在有完整的往返編輯功能。Roo 可以自動檢測您在託管 JSPX 檔案中所做的更改,並確保保留您的更改。這是 Web 層往返編輯方面的一個非常重要的改進,但這並非全部!我們還增加了直接在 JSPX 中編寫新標籤的功能、自動化工作流服務、更豐富的預設腳手架以及更好的擴充套件點。
- Google Web Toolkit (GWT) 支援:我一直是 GWT 的忠實粉絲,很高興我們現在已開始在 Roo 中全面支援 GWT。對於不熟悉 GWT 的人來說,它是一項令人印象深刻的技術,允許您編寫 Java 程式碼並將其自動編譯成高度最佳化的 JavaScript 以供瀏覽器執行(無需特殊外掛)。這是編寫響應迅速、視覺豐富、易於開發和維護的 UI 程式碼的絕佳方式。GWT 優先採用 Java 開發體驗的理念也與 Roo 優先採用 Java 開發體驗的理念完全一致,因此新增此整合是順理成章的。新的“gwt setup”命令將為您提供一個帶有腳手架桌面和移動裝置入口點的可執行 Web 應用程式,以及在您修改實體時往返更改。它甚至基於最新的 GWT 2.1 功能,例如新的繫結小部件和遠端支援。快來體驗一下吧!
- Google App Engine (GAE) 支援:最近我們一直在努力為 Spring 平臺生態系統新增對越來越多雲平臺的 P支援。在此新版 Roo 中,我很高興地宣佈我們現在支援 Google App Engine。因此,您現在可以使用“persistence setup --provider DATANUCLEUS --database GOOGLE_APP_ENGINE”Roo 命令,並自動獲得完整的 GAE 相容配置。部署也極其簡單,只需“mvn gae:deploy”。此外,STS 2.3.3.M1 在“Extensions”選項卡中提供了與 Google Plugin for Eclipse (GPE) 的完整整合,使您的 Roo-STS-GAE-GWT 體驗極其流暢。
- Apache Solr 搜尋伺服器:一個令人興奮的新功能是透過 Solr 自動索引實體。這允許您擁有一個專用的搜尋伺服器來索引您的物件,並透過 REST API(也支援 JSONP)查詢它們。
- Maven Central 依賴:我們很高興地響應了社群偏好,即 Roo 生成的專案使用 Maven Central 組 ID、構件 ID 和版本號。
- Java Persistence API (JPA) 2 支援:Roo 1.1.0 將我們的預設依賴項更改為最新發布的 Hibernate 和 OpenJPA 版本。
- 複合鍵支援:Roo 1.1.0 的新功能還包括定義複合鍵的能力。這是我們資料庫逆向工程功能的先驅。
- Serializable 附加元件:一個可愛的新附加元件是 Serializable 附加元件。這意味著 Roo 將自動為您的實體計算正確的 serialVersionUID。
- OSGi 基礎:我們已經更改了 Roo 基礎設施,使其完全基於 OSGi。因此,當您在命令列(或透過 SpringSource Tool Suite)啟動“roo”時,OSGi 容器會啟動並載入所有 Roo 捆綁包。這意味著我們將在不久的將來擁有支援複雜附加元件的更簡單方法。
- Cygwin 支援:我們已確保 Roo 在 Cygwin 上執行,包括“roo”獨立客戶端以及那些從原始碼構建的“roo-dev”開發指令碼。當然,Roo 在 Windows 獨立版、Mac 和(我最喜歡的)Linux 上仍然執行良好。
- 改進的控制檯訊息:Roo 現在將在處理您的專案時輸出更有意義的控制檯訊息。例如,您可以檢視正在新增到 pom.xml 中的依賴項。
- 最新的 Spring 平臺專案和通用依賴項:專案現在使用更新版本的 Spring 平臺和 Log4J、ActiveMQ 等通用依賴項。一個特別值得注意的增強是 AspectJ 1.6.9,它現在可以編譯出具有 ITD 成員的更精美的 .class 檔案。
- 眾多改進使附加元件開發更容易:現在編寫 Roo 附加元件更容易了。我們增加了新的鉤子到流行的元件(如 MVC 附加元件)中,以實現定製,新的抽象以簡化與 web.xml 等常見檔案的互動,更容易的增量檔案更改以及數十項其他小改進。
那麼過去三個月 Roo 還發生了什麼?很多
- 我們已從 Subversion 轉向 Git(別擔心,我們保留了所有版本歷史、標籤等)
- 一個煥然一新的網站
- 採用了新的 Spring Roo 標誌
- 建立了 @SpringRoo Twitter ID,人們可以關注以獲取 Roo 新聞,並找到 Roo 工程師 Twitter ID 的便捷列表
- 送出了許多免費袋鼠
- 舉辦了一系列網路研討會,超過 800 人參加
- 在許多會議和 JUG 上展示了 Roo
作為里程碑釋出,Roo 1.1.0.M1 不適用於關鍵任務使用。在接下來的幾個月裡,我們將在 1.1.0 版本中新增許多其他新功能,包括
- 增量資料庫逆向工程
- 對新的 Solr 和複合鍵功能的 UI 支援
- 更多的 Spring MVC UI 最佳化,例如更深層的 JavaScript 庫整合
- 轉向基於 OBR 的附加元件發現、解析、下載和安裝模型
- Roo 本身的效能調優
- 文件
- Ant/Ivy(視時間而定)
這已經是一篇很長的帖子了,所以我將推遲撰寫關於如何使用其中一些新功能的文章,留待以後釋出(更新:我的同事 Christian Dupuis 和 Jon Travis 已經撰寫了關於使用 STS 建立新 GWT 專案和Spring Insight Google 改進的部落格)。與此同時,我希望您喜歡下載 Roo 1.1.0.M1 並試用它。我們很樂意聽取您的意見——只需在您的推文中包含 @SpringRoo 或訪問社群論壇。祝您玩得開心!