Spring Web Flow Bean 作用域與 JSF

工程 | Ben Hale | 2007 年 5 月 8 日 | ...

最近我剛剛完成了 Spring Web Flow 中的一個有趣問題。這個問題(SWF-163)涉及為 Spring Web Flow 的內部作用域新增 Spring 2.0 bean 作用域支援。實現本身並不是那麼有趣(畢竟 Scope 介面很容易實現),但我還是想特別提一下如何在你的應用程式中使用類似這樣的功能。

Spring 2.0 作用域

在 Spring 1.x 中,我們有 singleton 和 prototype bean 作用域的概念,但表示法是固定的,使用 singleton="[true | false]" 並不是特別具有描述性。因此在 Spring 2.0 中,這種表示法從 XSD 風格的配置中移除,現在你可以看到更清晰的表示法 scope="[singleton | prototype | ...]"。Spring 本身增加了三種 bean 作用域;requestsessionglobalSession,它們與 Web 應用相關。

隨著 Spring Web Flow 1.1 的最新快照發布,我們現在看到了三個主要的 Web Flow 作用域的 bean 作用域,即 flashflowconversation


<bean id="sale" class="org.springframework.webflow.samples.sellitem.Sale…

Spring Batch

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

引言

我一直在與幾家客戶合作開發一款名為 Spring Batch 的新產品。其目標是提供工具和應用程式,以支援企業環境中的批次處理。Spring Batch 是 Spring Portfolio 的一部分,其首個版本將在 Spring 2.1 釋出系列中釋出。

構建一些原型程式碼的最初動力實際上獨立地來自於一些 Interface21 客戶。這提供了一些有用的額外細節和實現上的約束,以便能夠應用於客戶提出的實際問題。我希望本文…

強大組合:SCA、OSGi 和 Spring

工程 | Adrian Colyer | 2007 年 5 月 1 日 | ...

不,這不是我的標題,它實際上是 Open SOA collaboration 最近釋出的一份白皮書的標題。引用白皮書隨附的新聞公告:

“根據使用者反饋,OSOA Collaboration 正在釋出一份白皮書,重點介紹了 SCA、Spring 和 OSGi 技術的強大組合,旨在幫助開發人員簡化基於 SOA 方法構建應用程式所需的關鍵服務的建立和組合。”
Open SOA collaboration 開發服務協作架構 (SCA) 規範,其合作伙伴包括 BEA、IBM、IONA、Oracle、Red Hat、SAP、Siemens、Sun、Tibco 等。因此,當這個組織開始圍繞“SCA、Spring 和 OSGi 的強大組合”展開討論時,這無疑是對 Spring Framework 以及我們在 Spring OSGi 專案中所做工作的極大認可。

這份白皮書簡要概述了 SCA、OSGi 和 Spring,然後描述了它們如何協同使用。引用摘要中的內容:

“SCA、OSGi 和 Spring 都是 Java 程式設計師可以使用的有用且強大的工具。在我們邁入的新的面向服務的世界中,將 SCA、OSGi 和 Spring 結合使用,為從一組簡單的 Java Beans 構建服務實現提供了強大的能力,這些實現使用很少的 API,具有託管依賴項、版本控制和動態更新功能,並能夠與其他使用 Java 或其他語言編寫的服務元件以及存在於分散式系統網路中並使用各種通訊方法的元件進行組合。

簡單性、靈活性、可管理性、可測試性、可重用性。企業開發人員的關鍵組合。”

下週我將在 JavaOne 會議上與 IBM 的 Mike Edwards 共同介紹 SCA 和 Spring:會議 TS-8194,“Spring 和服務元件架構…”

從 Amazon S3 查詢和下載

工程 | Ben Hale | 2007 年 4 月 30 日 | ...

上一篇文章中,我描述了我們如何使用自定義 ANT 任務上傳 Spring portfolio 中基於 ANT 的專案的每晚快照。在本文中,我將描述我們如何使用 Amazon S3 為每個專案的快照生成頁面並允許使用者下載快照。

正如我在上一篇文章中提到的,S3 主要用作 REST-ful 服務。這意味著雖然我使用 Java 完成上傳部分,但我可以自由使用其他語言完成下載部分。在這種情況下,我選擇使用 PHP,因為它在我正在使用的伺服器上已經可用,並且是…

使用自定義 ANT 任務上傳到 Amazon S3

工程 | Ben Hale | 2007 年 4 月 25 日 | ...

一個穩健的 CI 結構帶來的有趣副作用之一是,當一切執行可靠時,新的問題就會開始浮現。在 Spring 的 CI 系統開始順利執行後不久,我們在 static.springframework.org 上的偶爾出現的空間和頻寬問題變得更加突出。Colin Sampaleanu 早些時候研究過如何緩解其中一些問題,並決定使用 Amazon S3

Amazon S3 是 Amazon Web Services 體系的一部分,提供了一種極其廉價的線上檔案儲存服務。“極其廉價”是什麼意思?嗯,從網站上看,它似乎…

Spring 的精髓

工程 | Rossen Stoyanchev | 2007 年 4 月 24 日 | ...

上週我在亞特蘭大的 Barnes & Noble 書店時發生了這件事。我在計算機區轉悠,開始瀏覽書名。頭微傾時,我偶然聽到了一段關於工作職位的對話。我沒有主動去聽,但我知道一方在推銷職位,另一方在諮詢。

幾分鐘後,只剩下我和那個正在物色人才的傢伙了。我確信他會開口說話。不久之後,他說‘你是做 J2EE 的嗎?’於是對話開始了。他問我工作情況。他不知道 Interface21,但一聽說這是那家公司…

Spring Web Services 中的 XPath 支援

工程 | Arjen Poutsma | 2007 年 4 月 23 日 | ...

繼我關於 WS-DuckTyping 的文章之後,我想展示一下 Spring Web Services 為 XPath 提供了哪些支援,這應該會很有趣。其中一些功能現在已經可用,但大部分將包含在本月晚些時候釋出的 RC1 版本中。本文將使用 Rusty Harold 所著 Effective XML第 35 條中定義的聯絡人 xml 檔案。

XPathExpression

一個已經可用了相當一段時間的選項是 XPathExpression。它是對已編譯 XPath 表示式的抽象,例如 Java 5 XPathExpression 和 Jaxen XPath

最近,我添加了 XPathExpressionFactoryBean,以便更容易地將 XPath 表示式注入到你的 bean 中,如下所示


<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/200…

Spring Web Flow 為 JSF 開發人員提供了什麼

工程 | Keith Donald | 2007 年 4 月 21 日 | ...

Spring Web Flow,非常類似於 Spring Framework 本身,是一種獨特的整合技術。我們的大多數使用者將其視為一個通用的 ApplicationController,可以嵌入到任何環境中。我們支援基於 Servlet 和 Portlet 的應用程式,並提供與主流 Web 框架 Struts、Spring MVC 和 Java Server Faces 的整合。我甚至知道有些團隊在 Flex 環境中使用 Spring Web Flow。在這些環境中,Spring Web Flow 都整合為實現導航邏輯和管理應用程式狀態提供了更好的模型。

我們的使用者喜歡這樣,因為…

Spring 專案 CI 構建

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

在過去的幾周裡,我和 i21 的同事 Costin Leau 一直致力於改進 Spring 專案的持續整合過程。當我們開始時,我們在 Cruise Control、Continuum 甚至自定義 cron 作業中執行獨立的構建。我們很難讓現有工具在所有構建上滿足我們的需求,這時我和 Costin 不約而同地發現了 Atlassian 的新產品 Bamboo

大約 10 分鐘後,我們就搭建並運行了 Spring CI 構建。這聽起來可能不多,但由於其規模,Spring 並不能很好地…

Spring Web Flow 1.0.2 釋出

釋出 | Keith Donald | 2007 年 4 月 11 日 | ...

親愛的 Spring 社群,

我們很高興地宣佈 Spring Web Flow 1.0.2 已經發布。這是一個錯誤修復和增強版本,解決了針對 Spring Web Flow 1.0 系列報告的所有錯誤,並顯著增強了 Spring Web Flow 對 Java Server Faces (JSF) 使用者的支援。我們建議從舊版本升級到此版本。

 

Spring Web Flow 是一個下一代 Java Web 應用程式控制器框架。該框架提供了一個強大的系統,用於在各種環境中一致地實現導航邏輯和管理應用程式狀態。

此版本的新特性和值得關注之處

Spring Web Flow 1.0.2 是一個堅實、穩定的版本,可作為現有使用者的直接替代品,並且包含幾項值得關注的增強功能。其中三項增強功能尤其值得更詳細地說明

顯著增強的 JSF 整合

現在作為 JSF 擴充套件使用時,Spring Web Flow 提供

  • 一個 NavigationHandler,它為 JSF 開發人員帶來了 Web Flow 導航系統的全部強大功能。該系統允許實現動態導航規則,並開箱即用地解決了臭名昭著的後退按鈕問題。
  • 一個狀態管理系統,為 UI 元件提供對 Web Flow 對話資料作用域中管理的 bean 的完全訪問許可權,包括“conversation”、“flow”和“flash”作用域。這些作用域補充了 JSF 的預設作用域,對於使用 Ajax4JSF 等庫應用 Ajax 技術的互動式 Web 應用程式特別有用。
  • 對所有主要 JSF 檢視技術的原生支援。使用 Spring Web Flow 1.0.2,參與流程的檢視是標準的 JSF 檢視,無論它們是使用 JSP 還是 Facelets 構建的。現在任何 JSF UI 元件都可以無縫地繫結到任何對話作用域中管理的 bean。

請執行並檢視 sellitem-jsf 示例,以快速評估這些增強功能的實際效果。它們顯著提高了在 JSF 環境中使用 Spring Web Flow 的便捷性,並且是一個更大努力的開端,該努力將持續到 1.1 版本及以後。

擴充套件的實用文件

參考手冊中現在提供了 Spring Web Flow 每個示例應用程式的完整演練。這些演練將引導您瞭解每個示例的實現過程,並在此過程中解釋最佳實踐和設計注意事項。下載釋出版本後,請參閱'Practical' 章節,瞭解如何在 IDE 中執行示例應用程式。

Spring IDE 2.0 整合

即將釋出的 Spring IDE Eclipse 外掛 2.0 版本具有圖形化的 Web Flow 編輯器和 XML Flow 定義編輯器。從 Spring Web Flow 1.0.2 開始,每個示例應用程式都已啟用 Spring IDE 2.0,以便您可以輕鬆評估這些工具的進展情況。要評估 Spring IDE 2.0,只需將示例專案匯入 Eclipse 並從每晚更新站點安裝最新版本的 Spring IDE 2.0 外掛。

Spring Web Flow 1.1 路線圖 

Spring Web Flow 1.1 的工作已經開始,預計將在 JavaOne 上釋出第一個候選版本。基於 1.0.2 版本,此版本將提供主要的全新功能,包括對話式持久化上下文支援、Acegi Security 整合、統一 EL 整合、整合的 Spring 2.0 自定義作用域、增強的基於 Java 的流程支援以及流程組合和繼承支援。

特別感謝 Jeremy Grelle、Rossen Stoyanchev 和 Christian Dupuis 為此版本做出的重大貢獻。成為 Web Flow 社群的一份子,這真是激動人心的時刻!

Keith Donald - Interface21
Erwin Vervaet - Ervacon
Spring Web Flow 開發負責人 

獲取 Spring 時事通訊

訂閱 Spring 時事通訊保持聯絡

訂閱

領先一步

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

瞭解更多

獲取支援

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

瞭解更多

近期活動

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

檢視全部