Maven 構件 (09/2007)

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

到目前為止,Spring Portfolio 的 Maven 構件,特別是快照,建立得不一致,並且散佈在各種位置。在過去的幾周裡,我們一直在努力使專案在建立和上傳這些構件時更加一致。

Maven 倉庫

Spring Portfolio 中對 Maven 支援最有效的改進之一就是使用一致的倉庫位置。根據您對程式碼的熟悉程度,有三種不同的倉庫。

釋出倉庫

對於任何最終釋出(Spring 2.5、Spring Web Flow 2.0 等),該釋出的 Maven 構件將上傳到 Maven Central 倉庫(http://repo1.maven.org/maven2)。使用此倉庫無需您付出任何努力,因為 Maven 會自動在此處查詢構件。

此倉庫中的構件確實遵循預期的倉庫行為,並且不會(也不能)被刪除。

里程碑倉庫

對於任何里程碑釋出(Spring 2.5-RC1、Spring Web Flow 2.0-M2 等),該釋出的 Maven 構件將上傳到 Spring 里程碑倉庫(http://s3.amazonaws.com/maven.springframework.org/milestone)。使用此倉庫需要您在 POM 檔案中向 <repositories/> 元素新增條目。它應該看起來像這樣:


<repository>
    <id>spring-milestone</id>
    <name>Spring Portfolio Milestone Repository</name>
    <url>http://s3.amazonaws.com/maven.springframework.org/milestone</url>
</repository>

此倉庫中的構件遵循預期的倉庫行為,並且會被定期刪除。在最終版本(Spring 2.6、Spring Web Flow 2.1 等)釋出後,上一版本構件的所有里程碑版本將被刪除。例如,當 Spring 2.6 釋出時,Spring 2.5 的里程碑將被刪除,而 Spring 2.6 的里程碑將被保留。

快照倉庫

對於任何快照構建(Spring 2.5-SNAPSHOT、Spring Web Flow 2.0-SNAPSHOT 等),該構建的 Maven 構件將上傳到 Spring 快照倉庫(http://s3.amazonaws.com/maven.springframework.org/snapshot)。使用此倉庫需要您在 POM 檔案中向 <repositories/> 元素新增條目。它應該看起來像這樣:


<repository>
    <id>spring-snapshot</id>
    <name>Spring Portfolio Snapshot Repository</name>
    <url>http://s3.amazonaws.com/maven.springframework.org/snapshot</url>
</repository>

此倉庫中的構件遵循預期的倉庫行為,並且會被定期刪除。對於給定的構件,至少會保留最近的 10 個快照構建。如果一個構件從分發版中刪除,其快照構建將立即被刪除。在里程碑或最終版本釋出時,將刪除構件的所有快照,並建立一個新快照用於下一個版本。

倉庫瀏覽

里程碑和快照倉庫都託管在亞馬遜的 S3 服務上,因此目錄結構不便於人類閱讀。要以人類可讀的格式檢視倉庫,請使用S3Browse 工具。

僅將這些 URL 用於人類可讀的檢視。如果將它們用作 POM 的 URL,您將遇到錯誤。

構件原始碼

另一個重要的改進是為所有釋出添加了原始碼構件。您會注意到在里程碑倉庫中,所有構件都附帶了原始碼。在未來,所有最終釋出也將如此。具體來說,從 Spring 2.5 釋出開始,除了 Spring 組合原始碼外,每個模組還將擁有一個原始碼構件。

Spring 快照

最後一個改進尚未完成;Spring 的夜間快照。我很樂意地說,這即將完成。我仍在解決與Maven Ant Tasks 相關的最終細節問題,但這最終會開始出現,屆時我將再次宣佈。此外,您可以期望此功能最終會推廣到所有其他基於 ANT 的 Spring Portfolio 專案,以便所有專案都能建立 Maven 快照和里程碑。

Spring Framework 2.1 演變為 Spring Framework 2.5!

工程 | Juergen Hoeller | 2007年9月10日 | ...

我的第一篇博文——這是一個多麼重大的公告:-)

在一系列 Spring 2.1 里程碑釋出之後,我們一直在審查我們引入的整體功能集

  • 完整的Java 6 和 Java EE 5 支援(JDBC 4.0、JTA 1.1、JavaMail 1.4、JAX-WS 2.0 等)
  • 功能齊全的註解驅動的依賴注入(包括對“qualifier”註解的支援)
  • 支援類路徑中的元件掃描(自動檢測帶註解的類)
  • AspectJ 切入點表示式中的bean 名稱切入點元素
  • 內建支援AspectJ 載入時織入(基於 Spring 的 LoadTimeWeaver 抽象)
  • 更多的 XML 配置名稱空間(“context”、“jms”)以獲得最大的便利性
  • 擴充套件的 SimpleJdbcTemplate 功能(支援命名引數等)
  • 官方認證的 WebSphere 支援(支援 WebSphere 6 UOWManager 功能等)
  • Spring Framework jar 開箱即用,都是符合 OSGi 的 bundle
  • Spring ApplicationContext 可以部署為 JCA RAR 檔案(用於無頭應用程式模組)
  • JCA 1.5 訊息端點管理(用於 Spring 管理的 JMS 和 CCI 訊息監聽器)
  • 完全修訂的整合測試框架(支援 JUnit 4 和 TestNG)
以及許多細節方面的改進。幾乎所有這些功能都已包含在最近釋出的 2.1 M4 中。

我們得出結論,這已遠遠超出了我們最初為 Spring 2.1 制定的計劃。版本號 2.1,正如在里程碑中所使用的,並不能反映此主要版本功能的重要性和全面性。

因此,我很高興地宣佈,2.1 里程碑將無縫地演變為Spring Framework 2.5 作為即將推出的主要版本! Spring 2.5 的最終釋出計劃在...

Spring Framework 2.1 M4 釋出

釋出 | Juergen Hoeller | 2007年9月10日 | ...

親愛的Spring社群,

我很高興地宣佈 Spring Framework 2.1 M4 已經發布!此里程碑版本引入了

  • “限定符”註解支援,用於選擇特定的 @Autowired 匹配;
  • 我們支援 JUnit4 的下一代 Spring TestContext 框架;
  • 用於儲存過程呼叫的 SimpleJdbcCall 操作物件;
  • 支援指令碼物件(Groovy、JRuby、BeanShell)的自動裝配;
  • 支援 Spring Web MVC 中的 Tiles2 檢視。

Spring 2.1 M1 Released

 

這讓我想到了一些更令人興奮的訊息……

我們一直在審查最近 2.1 里程碑中引入的全部功能

  • 完整的 Java 6 和 Java EE 5 支援
  • 功能齊全的註解驅動依賴注入
  • 支援類路徑中的元件掃描
  • AspectJ 切入點表示式中的“beanName”切入點元素
  • 內建的 AspectJ 載入時織入支援
  • 進一步的 XML 配置名稱空間(context,jms)
  • 擴充套件的 SimpleJdbcTemplate 功能
  • 官方認證的 WebSphere 支援
  • Spring ApplicationContext 可以部署為 RAR 檔案
  • JCA 1.5 訊息端點管理(用於 JMS 和 CCI)
  • 完全修訂的整合測試框架

我們得出結論,這大大超出了我們最初為 Spring 2.1 計劃的功能。里程碑版本使用的版本號 2.1 並不能反映此版本中功能的顯著性和全面性。

因此,我很高興地宣佈下一個版本將命名為 Spring Framework 2.5 RC1,2.1 里程碑將無縫地過渡到 Spring Framework 2.5 作為即將釋出的主要版本!請檢視Interface21 團隊部落格,獲取官方公告以及隨著我們接近最終版本,關於特定 Spring 2.5 功能的即將釋出的文章。

Spring 2.1 M4 在此。Spring 2.5 萬歲!:-)

祝好,

Juergen Hoeller
Spring 框架開發負責人
Interface21 - http://www.interface21.com

Interface21 在國會證詞中被提及

工程 | Rod Johnson | 2007 年 9 月 8 日 | ...

Interface21 國會證詞中被提及

風險投資家兼 Core Capital Partners 創始人 Jonathan Silver 於週四就擬議的針對風險投資家稅率的變更作證。他的論點之一是,風險投資支援的公司在美國各地創造了就業機會

下一個重要企業將從哪裡來?事實是,沒有人知道,這就是為什麼風險資本家在全美各地尋找機會。這也是為什麼風險基金支援了紐約市的 Music Nation、安娜堡的 Incept Biosystems、佛羅里達州西墨爾本的Interface21、馬薩諸塞州韋斯特伯勒的 Boston Power 以及德克薩斯州聖安東尼奧的 Click Forensics。

實際上,我們的總部正在遷往加利福尼亞州聖馬特奧。像許多軟體供應商一樣,我們認為矽谷是實現潛力的最佳地點。我們的合作伙伴最集中在這裡,而且這裡是招聘軟體業務高管人才的好地方。然而,Silver 的觀點仍然有效。我們確實在佛羅里達創造了就業機會——我們的 Web 團隊就位於那裡,並且目前正在在 Spring Web Flow 方面做得非常出色...

Spring Web Flow 下一代版本第一個里程碑釋出

釋出 | Keith Donald | 2007年8月28日 | ...

親愛的Spring社群,

我們很高興地宣佈 Spring Web Flow 下一代版本的第一個里程碑現已釋出。Spring Web Flow 2.0 M1 引入了多項主要新功能,包括對流管理持久化上下文的支援、對 Java Server Faces 的改進支援、完整的統一表達式語言 (EL) 支援以及更全面的示例 Web 應用程式

 

Spring Web Flow 2.0 是一個用於開發 Java Web 應用程式控制器的下一代框架。該框架提供了一個統一的執行時環境,用於在各種環境中執行無狀態有狀態的客戶端互動。

Web Flow 2.0 版本的釋出目標

如今,大多數應用程式開發人員使用 Spring Web Flow 來實現線性頁面流,例如嚮導,透過將 Web Flow 插入到他們的“基礎”Web 框架(例如 Spring MVC)中。此類頁面流表現出線性導航規則,是有狀態的,並形成 Web 應用程式功能的動態、自包含模組。一個很好的例子是貸款申請流程:Web Flow 獨特的流定義語言為實現這些型別的流程提供了自然的程式設計模型。

Spring Web Flow 2.0 的總體目標是正式地將產品從目前的主要是實現線性向導的框架,轉變為它一直以來旨在成為的:一個為所有型別的客戶端互動提供支援的通用應用程式控制器引擎。此類互動包括嚮導、無狀態“RESTful”互動以及“Web 2.0”應用程式中常見的更細粒度的、非線性/非同步互動。

Spring Web Flow 2.0 將為 Spring 社群提供一個統一的應用程式控制器框架和執行時,適用於執行所有型別的客戶端互動,並且能夠整合各種檢視渲染技術和 UI 元件模型。這個統一的執行時將能夠一致地應用管理儀表、安全性、AJAX 和託管永續性等獨特功能。

檢視完整的Spring Web Flow 2.0 路線圖

Web Flow 2.0 M1 新功能和值得注意的改進

第一個 2.0 里程碑版本在邁向 2.0 最終版的過程中引入了多項主要新功能。這些功能將在下面描述。 

基於 JPA 和 Hibernate 的流管理持久化上下文

Spring Web Flow 2.0 M1 引入了對 Hibernate 和 JPA 的流管理持久化上下文支援。釋出中包含的新酒店預訂示例應用程式演示了此功能。以下是它在預訂示例中的工作原理:

  • 當新的酒店預訂流程開始時,會自動為您建立一個持久化上下文。
  • 隨著您在流程中的進展,持久化上下文會自動用於所有資料訪問操作。您無需擔心查詢流繫結的 EntityManager 例項,或以任何方式對其進行管理。
  • 當您授權預訂時,對託管持久化實體的所有更改都會自動提交併重新整理到資料庫。如果您選擇取消預訂,您的任何更改都不會被提交。

此酒店預訂流程的圖形Spring IDE檢視如下所示:

Booking Flow 

改進的 Java Server Faces (JSF) 支援

Spring Web Flow 2.0 M1 引入了 Spring Faces 模組 (spring-faces-2.0-m1.jar),這是一個隨 Web Flow 發行版提供的元件,其中包含對使用 Java Server Faces 開發 Web 應用程式的組織的一流支援。現有的 Web Flow + JSF 整合已重構到此專案中,此專案將成為所有未來 JSF 整合工作的主頁。

Spring Faces 模組為 Spring 社群提供了一個專門的專案,用於探索額外的 JSF 整合機會。2.0 M1 中的初始工作引入了與流行 Javascript GUI 小部件框架 Ext 的整合。提供了幾個輕量級 JSF UI 元件,封裝了富 Ext 小部件的渲染。我們採用的方法允許 Ext 小部件裝飾標準 JSF 元件,新增類似桌面的外觀和附加的 UI 行為,例如客戶端驗證。2.0 M1 中提供了以下 Ext 元件裝飾器:

  • 一個日期驗證器元件,它對日期文字欄位執行富客戶端驗證,帶有一個美觀的日期選擇器控制元件。
  • 一個文字驗證器,它對自由格式文字輸入欄位執行富客戶端驗證。
  • 一個數字驗證器,它對數字文字欄位執行富客戶端驗證。

日期驗證器控制元件的螢幕截圖(也在酒店預訂示例應用程式中使用)如下所示:

 

Ext 控制元件外觀精美,由於所有 UI 行為都在客戶端執行,因此 UI 響應速度極佳。我們將在未來的 Web Flow 里程碑版本中,作為 Spring Faces 模組的一部分,在此領域新增進一步支援。

擁有專門的 Spring Faces 模組也簡化了在 JSF 環境中設定 Spring Web Flow 的過程。在 2.0 M1 之前,開發人員需要手動修改 faces-config.xml 來設定樣板 Spring/SWF 整合管道。使用 2.0 M1,只需在類路徑中包含 spring-faces-2.0-m1.jar 即可自動完成此設定。

統一表達式語言 (EL) 支援

此版本中的新功能還包括對統一 EL 的全面支援,它提供了替代 Spring Web Flow 當前預設使用的基於 OGNL 的表示式解析器的方法。現在建議在 JSF 環境中使用統一 EL,並且將在未來的里程碑版本中成為 JSF 開發人員的預設選項。

以下是酒店預訂流程定義中使用的 EL 表示式示例: 

 

上述“id”表示式評估儲存在 Flow Scope 中的當前酒店識別符號。請注意,這裡無需任何顯式的 flowScope 字首。開發人員只需按名稱引用變數,ELExpressionEvaluator 就會透過搜尋各種作用域來解析變數。這使得 Web Flow 定義中的託管 bean 引用與用於模型繫結表示式的 JSF 檢視中的引用 100% 一致。例如,請參見 bookingForm.xhtml 檢視中的以下程式碼片段:

 

2.0 版本說明

Spring Web Flow 2.0 需要 Spring 2.0 或更高版本以及 Java 1.4 或更高版本。

Spring Web Flow 2.0 將盡可能保持與 1.0.x 基於 XML 的流定義語言的向後相容性。預計隨著 Web Flow 演變為完整的控制器框架,未來 Web Flow 2.x 里程碑中的一些 SWF SPI 將發生變化。

Spring Web Flow 2.0 的未來里程碑將引入新的方言,用於在真實的程式語言中定義流,從而提供比當前基於 XML 的流定義語法更強大的替代方案。基於 POJO 的 Java 流定義語法正在開發中,同樣還有基於 Groovy 的方法。此外,還將引入用於實現 REST-ful 和 CRUD 流的高階流方言。由於 Web Flow 定義 API 和執行執行時與任何具體的流定義語法是分離的,我們可以自然地引入新的語法,以不同的方式在執行時設計應用程式控制器。

對於 JSF 使用者,Spring Web Flow 2.0 和 Spring Faces 可在 JSF 1.1 和 JSF 1.2 上執行。Spring Faces 模組中的 UI 元件庫獨立於 Web Flow 執行時,也可與 JSF 的預設導航處理程式一起使用。

Spring Web Flow 2.0 將繼續全面支援 Servlet 2.4 或更高版本、Portlet 1.0 或更高版本以及 JUnit 3.8.1 或更高版本環境。 

Spring Web Flow 2.0 將繼續在 Struts 1.2 或更高版本以及 Spring MVC 2.0 或更高版本環境中執行,並且在 2.0 最終版時也將可用作獨立的 Web 應用程式控制器框架。

Spring Web Services 1.0 釋出

釋出 | Arjen Poutsma | 2007 年 8 月 17 日 | ...

經過兩年的開發,我們很高興地宣佈 Spring Web Services 1.0 現已可用。

Spring-WS Logo

下載 | 參考文件 | API 文件

Spring Web Services 是 Spring 社群的產品,專注於建立文件驅動、契約優先的 Web 服務。Spring Web Services 的主要特性包括...

  • 使最佳實踐變得簡單:Spring Web Services 使強制執行最佳實踐變得更容易。這包括 WS-I 基本配置檔案、契約優先開發以及契約和實現之間鬆散耦合等實踐。
  • 強大的對映:您可以根據訊息負載、SOAP Action 頭部或 XPath 表示式,將傳入的 XML 請求路由到任何處理程式。
  • XML API 支援:傳入的 XML 訊息可以使用標準 JAXP API(如 DOM、SAX 和 StAX)進行處理,也可以使用 JDOM、dom4j、XOM 甚至 marshalling 技術進行處理。
  • 靈活的 XML 編組:Spring Web Services 發行版中的物件/XML 對映模組支援 JAXB 1 和 2、Castor、XMLBeans、JiBX 和 XStream。由於它是一個單獨的模組,您也可以在其他環境中使用它。
  • 重用您的 Spring 專業知識:Spring-WS 使用 Spring 應用程式上下文進行所有配置,這使您能夠快速啟動和執行。此外,Spring-WS 的架構類似於 Spring-MVC。
  • 支援 WS-Security:WS-Security 允許您對 SOAP 訊息進行簽名、加密和解密,或對其進行身份驗證。它還與 Spring Security 整合!

瞭解更多關於 Spring Web Services 的資訊,請訪問 2007 年 12 月 12 日至 15 日在佛羅里達州好萊塢 Westin Diplomat 酒店舉行的 The Spring Experience。Arjen 將在那裡就 Spring Web Services 發表兩場演講:Spring Web Services 簡介使用 Web Services 進行 WS-DuckTyping

有關自 1.0-RC2 以來修復的列表,請參閱發行說明

最後,衷心感謝所有參與者。沒有你們,這一切都不可能實現!

阿姆斯特丹 Java 聚會 Q307,9 月 21 日

工程 | Alef Arendsen | 2007 年 8 月 2 日 | ...

又到了下一次 Java 聚會的時間了。我決定將這個在阿姆斯特丹每季度舉行一次的活動的第七期推遲到夏天之後,因為荷蘭的大多數人會在八月左右休幾周的假。

我已經查看了我們的內部日程安排,看來 9 月 21 日是 9 月份剩下的唯一一天,所以我希望它也適合其他人的日程安排。

我們將在與去年四月聚會相同的地點舉行,因為這對我們來說非常方便,而且大家似乎都對此表示滿意。第一次 Java 聚會是在我最喜歡的阿姆斯特丹聚會場所舉行……

Spring Framework 2.1 M3 釋出

釋出 | Juergen Hoeller | 2007 年 8 月 1 日 | ...

親愛的Spring社群,

我很高興地宣佈 Spring 2.1 M3 已釋出!

這是 Spring 2.1 系列的第三個里程碑版本,引入了集合的自動裝配、“bean(name)”切入點元素、各種 JDBC 增強功能、JRuby 1.0 支援以及框架中的許多改進。

Spring 2.1 M1 Released

 

請參閱更新日誌JIRA 路線圖,瞭解此版本中引入的新功能的更多詳細資訊。

供參考,我們還發布了 2.0.7 快照,其中包含從 2.1 M3 反向移植的修復。請嘗試使用最新的快照作為 2.0.5/2.0.6 的替代品!官方 2.0.7 版本計劃於 8 月 15 日釋出。 

祝好, 

Juergen Hoeller
Spring 框架開發負責人
Interface21 - http://www.interface21.com

揭穿神話:代理影響效能

工程 | Alef Arendsen | 2007 年 7 月 19 日 | ...

在最近的一篇部落格文章中,Marc Logemann 談到了代理效能的主題。在他的文章中,他要求“Spring 開發者”提供一份白皮書。我不想花費大量篇幅討論代理和位元組碼織入機制之間精確到納秒的差異,但我確實認為重申這些差異以及這種討論是否重要是有價值的。

什麼是代理以及我們為什麼使用它們?

讓我們首先簡要回顧一下代理的用途(通常以及在 Spring 中)。根據 GoF(Gang of Four)關於 設計模式 的書,代理是另一個物件的替身或佔位符,用於控制對其的訪問。因為代理位於物件的呼叫者和實際物件之間,所以它可以決定阻止實際(或目標)物件被呼叫,或者在目標物件被呼叫之前做一些事情。prox.jpg

換句話說,代理可以用作真實物件的替身,以對這些物件應用額外的行為——無論是與安全相關的行為、快取還是效能測量……

Grails 和 Maven:一種不方便的結合

工程 | Dave Syer | 2007 年 7 月 14 日 | ...

介紹

Grails 似乎發展勢頭越來越好,並且看起來確實“有潛力”,正如他們所說。我很有興趣將這些潛力擴充套件到 Web 應用程式領域之外。如果您瞭解我在Spring Batch 上的工作,您大概可以猜出這會把我帶到哪裡。但在這篇文章中,我想分享一些我在 Grails 應用程式的基本、低階部署和構建方面的一些經驗。

我對 Maven 2 既愛又恨,而且我正在學習愛上 Grails,但可惜的是,這兩者配合得不太好。這本會...

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

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

瞭解更多

獲得支援

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

瞭解更多

即將舉行的活動

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

檢視所有