Spring Roo 1.1.0.M1 釋出

工程 | Ben Alex | May 19, 2010 | ...

我很高興宣佈我們剛剛釋出了 Spring Roo 1.1.0.M1。Spring Roo 是 Java 開發者使用 Java 程式語言構建基於 Spring 的應用程式的最快方式。使用 Roo 1.1.0.M1,您只需不到 200 次擊鍵即可構建可工作的 Web 應用程式,包括 Google Web Toolkit (GWT) 前端!此外,像往常一樣,我們同時釋出了針對最新和最優秀的 Roo 特性進行最佳化的 SpringSource Tool Suite (STS 2.3.3.M1) 新版本!

自三個月前的 1.0.2 版本釋出以來,共有 200 多項修復、增強和新功能。一些亮點包括

  • 顯著的 Spring MVC 整合改進:這些改進意味著 Roo 1.0.2 中一個 130 行的 JSPX 檔案現在只需 12 行。更好的是,現在支援完整的往返(round-tripping)。Roo 可以自動檢測您在託管的 JSPX 檔案中所做的更改,並確保保留您的更改。這是 Web 層往返方面一個非常重要的改進,但這並非全部!我們還增加了直接在 JSPX 中編寫新標籤的能力、自動工作流服務、更豐富的預設 scaffolding 以及更好的擴充套件點。
  • Google Web Toolkit (GWT) 支援:我一直都是 GWT 的忠實粉絲,很高興我們現在開始了在 Roo 中全面支援 GWT 的旅程。對於不熟悉 GWT 的人來說,這是一項令人印象深刻的技術,它允許您編寫 Java 程式碼,並自動將其編譯成經過高度最佳化的 JavaScript 以便在瀏覽器中執行(無需特殊外掛)。這是編寫響應迅速的 Web 應用的絕佳方式,其 UI 程式碼視覺豐富、易於開發和維護。GWT 的一流 Java 開發體驗理念也與 Roo 的一流 Java 開發體驗理念完全一致,因此新增此整合是水到渠成的事情。新的 "gwt setup" 命令將為您提供一個可工作的 Web 應用程式,包括 scaffolded 的桌面和移動裝置入口點,以及在您修改實體時進行的往返更改。它甚至構建在最新的 GWT 2.1 特性上,例如新的繫結元件和遠端支援。快來試試吧,享受其中的樂趣!
  • Google App Engine (GAE) 支援:最近,我們一直在忙於為 Spring 平臺生態系統新增對越來越多雲平臺的更多支援。在這個新版本的 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 的 group ID、artifact 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 bundle。這意味著在不久的將來,我們將有一種顯著簡化的方式來支援複雜的外掛。
  • 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 賬號,人們可以關注它獲取 Roo 新聞,並找到一份方便的 Roo 工程師 Twitter 賬號列表
  • 贈送了許多免費袋鼠玩偶
  • 舉辦了一系列網路研討會,有 800 多人參加
  • 在許多會議和 JUG(Java 使用者組)中展示了 Roo

作為里程碑版本,Roo 1.1.0.M1 不適合用於關鍵任務。在接下來的幾個月裡,我們將在 1.1.0 版本中新增許多其他新功能,包括

  • 增量資料庫逆向工程
  • 對新的 Solr 和複合主鍵功能的使用者介面支援
  • 更多 Spring MVC UI 改進,例如更深入的 JavaScript 庫整合
  • 轉向基於 OBR 的外掛發現、解析、下載和安裝模型
  • Roo 本身的效能調優
  • 文件
  • Ant/Ivy(取決於時間安排)

這篇文章已經很長了,所以我將推遲到以後的文章中再寫如何使用其中一些新功能(更新:我的同事 Christian Dupuis 和 Jon Travis 已經寫了關於使用 STS 建立新的 GWT 專案Spring Insight Google 改進的部落格)。與此同時,我希望您喜歡下載 Roo 1.1.0.M1 並試用它。我們很高興聽到您的反饋——只需在您的推文包含 @SpringRoo 或訪問社群論壇。玩得開心!

獲取 Spring 新聞通訊

訂閱 Spring 新聞通訊,保持連線

訂閱

領先一步

VMware 提供培訓和認證,助您快速提升。

瞭解更多

獲取支援

Tanzu Spring 透過簡單的訂閱,提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案。

瞭解更多

近期活動

檢視 Spring 社群的所有近期活動。

檢視全部