Spring Roo 1.1.0.M1 版本發布

工程 | Ben Alex | 2010年5月19日 | ...

我很高興地宣布,我們剛剛發布了 Spring Roo 1.1.0.M1。Spring Roo 是 Java 開發人員以 Java 程式語言建構基於 Spring 的應用程式最快速的方法。透過 Roo 1.1.0.M1,您可以用少至 200 次的按鍵,建構出可運作的網路應用程式 - 完整包含 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 行。更棒的是,現在有完整的往返工程 (round-tripping)。Roo 可以自動偵測您在受管理的 JSPX 檔案中所做的變更,並確保保留您的變更。這是網路層往返工程方面非常顯著的改進,但不僅止於此!我們還新增了直接在 JSPX 中編寫新標籤、自動工作流程服務、更豐富的預設 scaffolding 和更好的擴充點的功能。
  • Google Web Toolkit (GWT) 支援: 我一直是 GWT 的忠實粉絲,而且我很高興我們現在開始了在 Roo 中完整支援 GWT 的旅程。對於不熟悉 GWT 的人來說,它是一項令人印象深刻的技術,可讓您編寫 Java 程式碼,並將其自動編譯成高度最佳化的 JavaScript 以在瀏覽器中執行 (無需特殊外掛程式)。這是編寫具有視覺豐富、易於開發和易於維護的 UI 程式碼的快速網路應用程式的絕佳方式。GWT 在 Java 中提供一流開發體驗的理念,也完全符合 Roo 在 Java 中提供一流開發體驗的理念,因此新增此整合是理所當然的。新的 "gwt setup" 命令將為您提供一個可運作的網路應用程式,其中包含 scaffolded 桌面和行動裝置入口點,以及在您修改實體時的往返變更。它甚至建立在最新的 GWT 2.1 功能之上,例如新的 binding widgets 和 remoting support。趕快試用看看,享受其中的樂趣吧!
  • 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 群組 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 捆綁包。這表示在不久的將來,我們將有更簡單的方式來支援複雜的附加元件。
  • Cygwin 支援: 我們已確保 Roo 在 Cygwin 上運作,包括 "roo" 獨立用戶端,以及為那些從原始碼建構的使用者提供的 "roo-dev" 開發腳本。當然,Roo 在 Windows standalone、Mac 和 (我最喜歡的) Linux 上仍然可以完美運作。
  • 改進的控制台訊息: Roo 現在會在處理您的專案時輸出更有意義的控制台訊息。例如,您可以查看哪些依賴項正在新增至您的 pom.xml。
  • 最新的 Spring 平台專案和常用依賴項: 專案現在使用更新版本的 Spring 平台和常用依賴項,例如 Log4J、ActiveMQ 等。一個特別值得注意的增強功能是 AspectJ 1.6.9,它現在可以編譯出更精美的包含 ITD 成員的 .class 檔案。
  • 為簡化附加元件開發所做的眾多改進: 現在更容易編寫 Roo 附加元件。我們在熱門組件 (例如 MVC 附加元件) 中新增了新的 hooks 以啟用自訂,新增了抽象概念以簡化與常見檔案 (例如 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 和複合鍵功能的使用者介面支援
  • 更多 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 社群中所有即將到來的活動。

查看全部