那麼您還應該使用 Spring 的 HibernateTemplate 和/或 JpaTemplate 嗎?

工程 | Alef Arendsen | 2007 年 6 月 26 日 | ...

前幾天我在 TSS 上讀到 Vigil Bose 寫的一篇文章,看到其中使用了 HibernateDaoSupport 類。既然這不是從 Spring 使用 Hibernate 的推薦方式了,我想我不如再寫一篇部落格來談談它。

隨著 Spring 2.0 的出現,再次直接使用 Hibernate Session API 成為可能。問題在於,在使用 Hibernate 或 Spring 的任何其他基於模板的方法時,放棄使用 HibernateTemplate 是否明智。

使用 Spring XxxTemplates

在 Spring 1.0 中,我們引入了一種革命性的方式來處理丟擲受檢異常的資料訪問 API。Spring 的模板方法與其事務同步管理器以及執行時異常的廣泛使用相結合,使得資料訪問程式碼中經常出現的任何 TCFTC(我們在 2005 年創造的術語 try/catch-finally-try/catch 的縮寫)完全過時。您可以在下方看到 Spring 模板方法為您所做的事情(包含您原本必須編寫的特定程式碼片段)的簡化且並非完全精確的版本。 template.png

獲取連線:如果事務同步處於活動狀態…

SpringOne '超越顯而易見' 演講的程式碼示例

工程 | Joris Kuipers | 2007 年 6 月 25 日 | ...

上週在 SpringOne 大會上,Alef 和我做了一個關於如何使用 Spring 處理複雜應用的演講。這裡的複雜性既包括結構層面的複雜性,也包括動態層面的複雜性。關於演講的結構部分,我在我上一篇部落格文章中已經討論過。動態部分解釋了一些可能的解決方案來處理部署環境(測試、驗收、生產等)之間的差異。很多人問我是否可以提供我在演講中進行的演示的原始碼。我已將原始碼附到這篇部落格文章中,並將解釋…

批處理的力量

工程 | Rob Harrop | 2007 年 6 月 23 日 | ...

昨天 SpringOne 的最後一節會議上,Dave Syer、Scott Wintermute、Lucas Ward 和 Wayne Lund 都做了關於 Spring Batch 的演講。我沒有實際參加(因為我得早點打車走),但我把頭探進去看了一下,再次被大家的興趣程度震驚了。

回到 JavaOne 大會時,這個解決方案也引起了巨大的興趣,許多參觀者前來展位詢問我們關於批處理的問題。

在這個 Ajax 和富網際網路應用的世界裡,很容易忘記大量(或許是大多數?)大型企業應用都是面向批處理的。批處理…

對 Spring Web Flow 進行負載測試

工程 | Rossen Stoyanchev | 2007 年 6 月 22 日 | ...

對 Web Flow 應用進行負載測試類似於對任何其他 Web 應用進行負載測試——我們將使用負載測試工具模擬不斷增加的併發客戶端訪問級別,以捕獲關鍵的效能統計資料。

對於 Web Flow 的負載測試,有幾個重要考慮因素

  1. 負載測試必須維護獨立的“Cookie 儲存區域”,以便每個客戶端請求都能攜帶獨立的 HTTP 會話。
  2. 我們需要一種機制來從初始響應中提取唯一的流程執行金鑰,並用它來自定義同一流程會話中的後續請求。

Apache JMeter 是一個開源效能測試工具,可以滿足這兩方面的考慮。

對於 1) 我們在每個執行 Web Flow 功能的測試組的根部新增一個 HTTP Cookie Manager 元素。Cookie Manager 確保每個模擬的客戶端請求都可以有自己的…

Spring Framework 在 WebSphere 上獲得認證

工程 | Rod Johnson | 2007 年 6 月 21 日 | ...

SpringOne 大會進展順利。今年是為期 3 天的展會,比去年多了 1 天,再次看到數百名與會者參加 Spring 大會真是太好了。這次展會我相當放鬆,因為開幕主題演講之後我就沒有其他會議了,也不需要準備幻燈片。

現在,Adrian 正準備宣佈關於 Spring 工具的一項重大訊息。實際上,他正在對鴨子型別進行獨特的個人解讀,我肯定你會聽到的…

稍後會詳細介紹,但首先我需要分享一下昨天的一些新聞。我很高興能夠宣佈我們…

2007 年 6 月 13 日 NL-JUG 會議上演示的程式碼源

工程 | Alef Arendsen | 2007 年 6 月 14 日 | ...

昨天,Joris 和我在荷蘭 Java 使用者組做了一個會議。我們做了兩次會議,總共有大約 250 人參加。很多人詢問我們在會議期間做的演示的程式碼。附件中您可以找到 AOP 和依賴注入演示的程式碼。它展示了一個在每次 JDBC 操作之前重新整理 Hibernate 會話的簡單方面(在生產程式碼中,這可能不夠健壯,但這只是一個開始),它還展示了使用… 配置的 CarPlant 系統(之前在其他會議中演示過,並已附在另一篇部落格文章中)。

Spring:企業級 Java 程式設計事實上的標準

工程 | Adrian Colyer | 2007 年 6 月 13 日 | ...

昨天 GigaSpaces 釋出了他們的空間計算架構的最新版本,併為其起了一個新名稱:GigaSpaces eXtreme Application Platform (XAP)。引用其新聞稿:

新版本提供了一個完整的中介軟體平臺,用於管理需要高效能並能夠橫向擴充套件到數百臺機器上的應用的資料、訊息和業務邏輯。
然而,公告中引起我注意的部分是這個
作為新產品釋出的一部分,GigaSpaces 採用了更簡單、非侵入式的程式設計模型,允許開發者使用普通 Java 物件(POJO)、普通 .Net 物件和普通 C++ 物件編寫應用程式。對於 Java 而言,GigaSpaces 透過支援 Spring Framework 來實現這一點,Spring Framework 正迅速成為企業級 Java 程式設計的事實標準
看到這樣的認可真是太好了,我對這個陳述唯一想做的微小改動是去掉“迅速成為”的部分:Spring Framework 企業級 Java 程式設計的事實標準。

像這樣的公告是良性迴圈的一部分(例如 Geoffrey Moore 在他的書《大猩猩遊戲》中描述過),Spring Framework 的普及性使得供應商非常願意在他們的產品中提供 Spring Framework 整合,這反過來又提高了 Spring 的整體價值。這當然有助於使 Spring 更加普及…

關於開源的胡言亂語

工程 | Rod Johnson | 2007 年 6 月 12 日 | ...

關於開源的胡言亂語是一個競爭激烈的領域。然而,我剛剛看到了一篇提升(還是降低?)門檻的文章:OpenLogic 博主的一篇題為 你的時間值多少錢? 的帖子。

文章不長,這很方便,因為它更容易逐段解構。我主要關注企業級 Java,對此我有經驗可談。

博主開篇就直奔主題,簡潔地說明了她為何不理解企業中的開源

從事開源軟體開發的開發者通常有收入可觀的日常工作。因此,他們免費從事開源軟體開發,並在白天為豐厚的報酬編寫程式碼。
哇,我以為我們多年前就已經擺脫了這種“業餘愛好”的想法。讓我引用一些關於 Linux 的統計資料,來自一篇 2004 年的文章,題為 Linux 現已成為企業巨獸。重點是我加的。
為了消除人們認為 Linux 是由大量孤立工作的獨立駭客拼湊起來的看法,負責管理 Linux 核心的人士表示,現在大多數 Linux 改進都來自企業。“人們對典型 Linux 開發者的刻板印象是,一個男性計算機宅男在地下室裡利用業餘時間寫程式碼,完全出於對手藝的熱愛。直到大約五年前,這類人仍然是一股重要力量,”Andrew Morton 說,他的職責是維護穩定版本的 Linux 核心。Morton 說,這類愛好者的貢獻“正在減弱”。相反,大多數程式碼是由打著企業考勤卡工作的程式設計師生成的。Morton 說,大約有 1000 名開發者定期為 Linux 貢獻更改。在這 1000 名開發者中,約有 100 人是由僱主付費為 Linux 工作的。而這 100 人貢獻了作業系統最近 38,000 項更改中的約 37,000 項
這意味著 97% 的提交來自受僱為 Linux 工作的人員。這種轉變與 Linux 在企業中的日益普及相吻合。審視企業級 Java 中最成功的複雜專案,如 Spring、Hibernate 和 JBoss,也呈現出類似的情況。這些專案絕大部分都是由為它們背後的公司工作的開發者編寫的。志願貢獻者幾乎沒有參與。因此,這些產品都展現出了快速的進展。

帖子現在轉向經濟學——或者更準確地說,試圖論證…

ASM 版本不相容性,在 Hibernate 中使用 Spring @Autowired

工程 | Alef Arendsen | 2007 年 6 月 11 日 | ...

這周我和 Joris 一起研究 Spring 2.1 的東西。我們正在準備一個使用所有三種依賴注入方式的示例。這個示例不僅強調了依賴注入,還展示了一個基於 Hibernate 的後端。

Spring 2.1 中的幾個特性需要 ASM 位元組碼操作框架。Hibernate 也透過 CGLIB 使用 ASM。ASM 1.5.3 和 2.2.3 之間存在二進位制不相容性。前者由 Hibernate 使用,後者則由 Spring 在各種場景中使用;特別是某些 AOP 功能和新的 @Autowired 特性。

更新:閱讀…

在多 WAR Spring 應用中使用共享的父應用上下文

工程 | Joris Kuipers | 2007 年 6 月 11 日 | ...

上個月我在土耳其進行了一次 Spring 核心培訓。課程結束時,我討論了學員在完成課程後將要構建的應用架構。這個應用將包含一個 ear 檔案,其中包含多個 war 檔案,並且提出了一個問題:是否可以定義一個單獨的 ApplicationContext,作為所有 war 檔案的 WebApplicationContext 的共享父級。這個上下文將儲存服務、DAO 和其他不特定於單個 Web 模組的 Bean 定義。

實際上,Spring 使其…

獲取 Spring 新聞通訊

訂閱 Spring 新聞通訊,保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速發展。

瞭解更多

獲取支援

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

瞭解更多

近期活動

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

檢視全部