Spring 和 Maven 後續

工程 | Ben Hale | 2006年9月18日 | ...

關於我最近關於 Spring 和 Maven 的宣告,已經有了相當討論這些討論都非常好且有價值,但我確實想澄清我提出的一些觀點。

首先,我們致力於支援使用 Maven 作為首選構建系統的 Spring 使用者。這意味著我們將幫助確保從 Spring 2.0 RC4 開始的每個 Spring 版本在 Maven 倉庫中都有準確的 POM。這就是世界上最受歡迎的 JIRA 問題的全部意義。僅此而已。

Spring 自身內部構建系統的話題是…

Spring 2.0 候選釋出版 4 釋出

釋出 | Juergen Hoeller | 2006年9月17日 | ...

我們很高興地宣佈 Spring 2.0 RC4 已釋出。 下載 | 文件 | 更新日誌

這是 Spring 2.0 最終版本之前的最後一個候選釋出版。  RC4 包含了許多進一步的錯誤修復和各個領域的改進,以及一些次要的新功能(例如在 JMS 支援中)。請參閱更新日誌和JIRA 問題列表,瞭解所有詳細資訊。  最值得注意的變化包括...

新增和值得注意

  • 此版本為 2.0 DTD 和 XSD 引入了帶版本的檔名。如果您的 Bean 定義檔案基於 2.0 XSD 或 2.0 特定的 DTD 功能,請調整它們。  例如:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="
                http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

    <!-- 在此處定義您的 Bean -->

</beans>

  • 如您所料,Spring 1.2 DTD 在其已建立的 spring-beans DTD 檔名下仍然得到完全支援。
  • 2.0 XML 配置元素和屬性現在已針對我們支援的每個模式進行了完整文件記錄。  特別感謝 Rick Evans 在這方面的貢獻。
  • Apache OJB 支援 (org.springframework.orm.ojb) 從此版本起不再隨核心 Spring 發行版提供。它現在可從Spring Modules 專案獲取。
  • Spring 的 JPA 支援現已針對 Oracle TopLink Essentials v2 b16 以及 Hibernate EntityManager 3.2.0 CR2 進行了全面測試。我們廣泛的整合測試套件現在完全通過了這兩個 JPA 提供商的測試。我們目前正在以同樣的方式覆蓋 OpenJPA。

我們期待您對該版本的反饋。

祝好,

Juergen Hoeller
Spring 框架開發負責人

Spring 2.0 RC4 釋出:關於 DTD/Schema 重新命名、Scope 屬性的注意事項

工程 | Colin Sampaleanu | 2006年9月17日 | ...

Spring Framework 2.0 RC4 已釋出。這是 Spring 2.0 最終版本之前的最後一個候選釋出版,您可以從釋出公告本身以及JIRA 問題列表瞭解有關此版本的更多資訊,以獲取此版本中更改的完整列表。

可能最重要的一點是,此版本為 2.0 DTD 和 Schema (XSD) 引入了帶版本的檔案/位置名稱。這是必要的,因為 2.0 的 XML Bean 定義格式得到了顯著增強,但 1.2.x 使用者仍然需要能夠引用 1.2.8 DTD。以下是使用 2.0“beans”schema 的示例(2.0 還附帶了許多其他新 schema,代表各種特殊名稱空間

是的,我知道現在它是 JIRA 中投票最多的問題!

工程 | Ben Hale | 2006年9月15日 | ...

你猜是什麼?如果你猜是 Spring 的Maven bundle/build,你就贏了。12 月來Spring Experience找我,我們將分享一杯冰鎮飲料作為你的獎品。

我的過失

在我過去的職業生涯中,我做了很多配置管理和構建系統方面的工作。當我來到 Interface21 後,我立即自願盡我所能幫助構建基礎設施。接下來,我發現所有與 Maven 相關的票證,無論是 Spring 還是 Spring Web Flow,都被分配給了我。然後,由於我對 JIRA 的漫不經心,我讓這個問題發酵了。在過去的幾個月裡,關於 Spring 和 Maven 的事情確實一直在向前推進;我本應該在 JIRA 中釋出但卻沒有釋出的事情。這導致最近幾天在主要 JIRA 問題中出現了一些合理的抱怨。因此,為了讓大家瞭解最新情況,以下是當前的狀況。

狀態

對於過去幾個月對 Spring 2.0 和 Maven 感到絕望的人,你們不會再絕望太久了。Spring 社群已決定逐步將所有 Spring 專案轉換為 Maven。您可能知道Acegi 長期以來一直在使用 Maven。最近,Spring-WS 專案也進行了轉換。我個人已經原型化了Spring Web Flow的轉換,並且普遍認為 Spring 也將進行轉換。

話雖如此,現在還不是慶祝的時候。轉換最後兩個專案(Spring 和 Spring Web Flow)並非易事(如果您不相信我,只需看看《使用 Maven 構建更好的專案》)。因此,這種轉換並不是我們真的想在接近主要 2.0 和 1.0 版本釋出時做的事情。我能告訴您的是,轉換是一個計劃在釋出之後實現的目標。

那計劃是什麼?

其實很簡單。在接下來的幾周裡,我將為 Spring 和 Spring Web Flow 手動構建帶有依賴列表的 POM。目前,計劃是將這些 POM 與 Spring 和 Spring Web Flow 的最終版本一起釋出。釋出之後,在 Arjen 的幫助下,我將協助 Juergen 和 Keith 將他們的原始碼樹轉換為 Maven 構建,並讓這些構建在 Continuum 中執行。

那麼,我作為使用者,在此期間能做些什麼呢?

首先是要有耐心。我們在這個問題上沉默了這麼久是我的錯,希望這篇文章能為我們的思考過程提供一些透明度。其次,我很樂意提供測試幫助。我的計劃是在工作時將試用 POM 簽入 CVS 和 SVN,並在JIRA 問題上宣佈已進行更改。正如你所猜,手動建立 POM 容易出錯(這是推動 Maven 構建的驅動因素之一),所以我很樂意得到一些測試它們的幫助。在JIRA 中的評論,發帖到論壇,以及發帖到開發者郵件列表都是很好的反饋途徑。

還有其他你想知道的嗎?

再次,我希望這能緩解社群中的一些沮喪情緒,並讓您瞭解我們未來的方向。當然,歡迎對當前計劃提出任何意見(這裡的評論將是一個很好的地方),但我也想知道您是否有任何其他問題或讓您感到沮喪的問題。如果您在下面留下問題或直接給我傳送電子郵件,我將盡力給您一個滿意的答覆,並將其釋出到部落格上或透過電子郵件直接回復給您。

Spring OSGi 支援勢頭正勁

工程 | Adrian Colyer | 2006年9月7日 | ...

它始於一件小事。僅僅是我的一種直覺,認為 Spring 和 OSGi 應該很好地協同工作。這個想法是,透過使 Spring 應用程式能夠部署在 OSGi 執行時中,我們可以為 Spring 應用程式帶來更好的模組化、版本控制、執行時部署和更新功能。這是一個我從未真正宣傳過的專案;我只是開始實驗,與一些人交談,並編寫了一些早期的原型程式碼。

事實證明,很多人似乎對 Spring 和 OSGi 感興趣。我們正在與來自 BEA、Oracle、IBM、Eclipse、OSGi Alliance 和其他幾家公司的代表合作,共同構建一個關於 Spring 對 OSGi 的支援應該是什麼樣子,以及我們如何能夠輕鬆地在 OSGi 執行時上構建企業應用程式的共享模型。該規範的最新版本附在Spring JIRA 問題 1802 中。這是規範文字的直接連結

Spring 2.0 中的前置通知(Before Advice)

工程 | Ben Hale | 2006年9月5日 | ...

正如大家所知,Spring 2.0 的一大改進是增加了 AspectJ 切入點語言以及與 AspectJ 的更好整合。雖然我認為從長遠來看,這會帶來巨大的好處,但也導致了一些問題。我們發現 Spring AOP 始終具有某些 AspectJ 從未具有的行為。

出現的一個大問題是前置通知(Before advice)的行為。如果您在 Spring 1.x 中使用過 Spring AOP,您可能知道 Spring 允許您在引數傳遞給目標之前更改引數值…

Spring 標準化數量增加

工程 | Steven Schuurman | 2006 年 8 月 29 日 | ...

Spring - 將長期存在 我每天都會拜訪許多客戶,並與更多客戶交談。這包括現有的 Interface21 客戶以及對我們在歐洲的產品和服務感興趣的公司。我注意到我正在進行的對話中有一個反覆出現的主題:Spring 在這裡,而且它將長期存在。

在過去的一年裡,我見證了高層決策,這些決策已將 Spring 標準化到領先的企業 Java 開發公司的整個結構中。就在兩週前,我問我的一位客戶——歐洲最大公司之一的 Java 部門經理……

建立 Spring 2.0 名稱空間?使用 Spring 的 AbstractBeanDefintionParser 層次結構。

工程 | Ben Hale | 2006年8月28日 | ...

最近我似乎一直專注於建立 Spring XML 名稱空間。在 XSD 和 Spring 兩方面,為了找到建立解析器的良好模式,經歷了大量的嘗試和錯誤。我遇到的最大困惑之一是 AbstractBeanDefinitionParser 層次結構。目前它的文件不是特別好(但有一個 JIRA 問題,所以會在 GA 之前修復),所以我將為您介紹您的選擇、它們的作用以及如何使用它們。

AbstractBeanDefinitionParser 的選擇

Spring 提供了三種主要的 BeanDefinitionParser 來幫助您解析 XML 名稱空間。

我將從最具體的開始,逐步介紹到最一般的,以展示如何在需要時獲得更大的能力。如果您想跳過示例並檢視摘要,請點選此處

Spring LDAP 1.1 釋出

釋出 | Mattias Arthursson | 2006年8月28日 | ...

親愛的Spring社群,

我們很高興地宣佈 Spring LDAP 1.1 版本釋出。這是該庫作為 Spring Framework 子專案釋出的第一個版本。下載 | 文件 | API

關於 Spring LDAP
Spring LDAP 是一個 Java 庫,基於 Spring 的 JdbcTemplate 模式,用於簡化 LDAP 操作。該框架將使用者從查詢和關閉上下文、遍歷 NamingEnumerations、編碼/解碼值和過濾器等繁重工作中解放出來。

LdapTemplate 類封裝了傳統 LDAP 程式設計中涉及的所有底層工作,例如建立、遍歷 NamingEnumerations、處理異常和清理資源。這使得程式設計師能夠處理重要的事情——在哪裡查詢資料(DN 和過濾器)以及如何處理它(對映到領域物件和從領域物件對映、繫結、修改、解綁等),就像 JdbcTemplate 將程式設計師從實際的 SQL 和資料如何對映到領域模型之外的所有工作中解放出來一樣。

除此之外,Spring LDAP 還提供從 NamingExceptions 到 DataAccessExceptions 的異常轉換,以及用於處理過濾器、LDAP 路徑和屬性的多個實用工具。

Spring-LDAP 需要 J2SE 1.4。構建需要 J2SE 1.4。執行示例需要 J2EE 1.4(Servlet 2.3,JSP 1.2)。

從何開始
從上面的連結下載分發包。分發包包含詳盡的 JavaDoc 文件以及完整的參考文件和示例應用程式,說明了使用 Spring LDAP 的不同方式。

主頁
Spring LDAP 的永久主頁是 http://www.springframework.org/ldap

歷史
Spring LDAP 基於 SourceForge LdapTemplate 專案。建議 LdapTemplate 使用者切換到 Spring LDAP。

Mattias Arthursson & Ulrik Sandberg
Spring LDAP 專案團隊

驗證邏輯(以及我的第一篇文章!)

工程 | Colin Yates | 2006年8月25日 | ...

大家好!

這是我上個月加入 Interface21 以來發布的第一篇文章。我之前的部落格現在已正式棄用,我將不再更新它。

那麼我第一篇文章的主題是什麼(除了自我介紹)?  驗證邏輯。  這不會是關於如何在 Spring 框架中執行驗證的演練,而是會討論我一個特別惱人的問題:)

特別是,我想討論驗證邏輯中應該包含哪些內容。  這似乎是一個無需思考的答案;“驗證指定資料的邏輯”。  好的,這確實是一個無需思考的答案,但請繼續閱讀 :)。如您所知,Spring 框架透過 Errors Validator 介面為您的驗證提供了一個很好的抽象層。  特別是,Validator 是您將業務特定的驗證規則應用於填充的領域物件的地方。  Spring 出色的繫結支援負責更新您的領域模型…

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

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

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有