Spring 標準化數字不斷增加
Spring - 將長期存在 我拜訪許多客戶,並每天與更多人交談。這包括現有的 Interface21 客戶以及對我們在歐洲的產品和服務感興趣的公司。我注意到我所進行的對話中出現了一個反覆出現的主題:Spring 已經到來,而且將長期存在。
在過去的一年中,我目睹了高層決策,這些決策已在領先的 Enterprise Java 開發公司的結構中標準化了 Spring。就在兩週前,我詢問了我的客戶之一 - 歐洲最大的 Java 單位經理之一...
Spring - 將長期存在 我拜訪許多客戶,並每天與更多人交談。這包括現有的 Interface21 客戶以及對我們在歐洲的產品和服務感興趣的公司。我注意到我所進行的對話中出現了一個反覆出現的主題:Spring 已經到來,而且將長期存在。
在過去的一年中,我目睹了高層決策,這些決策已在領先的 Enterprise Java 開發公司的結構中標準化了 Spring。就在兩週前,我詢問了我的客戶之一 - 歐洲最大的 Java 單位經理之一...
最近我似乎一直在專注於建立 Spring XML 命名空間。為了獲得建立解析器的良好模式,我進行了大量的試驗和錯誤(包括 XSD 和 Spring 端)。我遇到的最大困惑之一是 AbstractBeanDefinitionParser 階層。目前,它沒有特別好的文件(但有一個 JIRA,所以它會在 GA 之前修復),所以我將給你一個關於你的選擇、它們的用途以及如何使用它們的概述。
我將從最具體的開始,然後朝著最一般的方向發展,以展示在你需要時如何獲得更多力量。如果你想跳過示例並查看摘要,請查看這裡…
大家好!
這是我上個月加入 Interface21 以來的第一篇文章。我之前的 部落格 現在正式已被棄用,我將不再更新它。
那麼,我的第一篇文章的主題是什麼(除了介紹我自己)?驗證邏輯。這不會是一個如何在 Spring 框架中執行驗證的演練,而是會討論我的一個特別的困擾 :)
特別是,我想討論驗證邏輯中應該包含什麼。這似乎是一個不費腦筋的答案;“驗證指定資料的邏輯”。好的,這確實不費腦筋,但請繼續閱讀 :)。如你所知,Spring 框架透過 Errors 和 Validator 介面,為你的驗證提供了一個很好的抽象層。特別是,Validator 是你將特定於業務的驗證規則應用於你已填充的網域物件的地方。Spring 出色的綁定支援負責更新你的網域模型…
在所有新的 Spring 2.0 功能和改進中,我必須承認訊息驅動的 POJO 是我個人最喜歡的功能之一。我感覺很多其他的 Spring 使用者也會有同樣的感受。
在這裡,我提供了一個快速的介紹。還有很多東西要展示,我將在後續的文章中繼續介紹。但現在 - 這應該為你提供足夠的資訊,讓你開始使用一些真正基於 POJO 的非同步 JMS!我希望你和我一樣對此感到興奮 ;)
你需要在你的類別路徑中包含以下 JAR 檔案。我也列出了我正在使用的版本(任何 spring-2.x 版本應該都可以。事實上,我大約 2 分鐘前才將 RC3 放入其中)
首先,我們需要設定環境。我將使用 ActiveMQ,但是變更供應商的影響將僅限於在此檔案中的修改。我將這個檔案命名為「shared-context.xml」,因為你很快就會看到,我將為 JMS 通訊的雙方導入這些 bean 定義。以下是「共用」bean 定義:連線工廠和兩個佇列(一個用於請求,一個用於回覆)
<?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.xsd">
<bean id="requestQueue" class="org.activemq.message.ActiveMQQueue">
<constructor-arg value="requestQueue"/>
</bean>
<bean id="replyQueue" class="org.activemq.message.ActiveMQQueue">
<constructor-arg value="replyQueue…
我為 InfoQ 網站撰寫的一篇文章剛剛上線:使用 Spring 2.0 和 AspectJ 簡化企業應用程式。
我聽過很多人說「AOP 太難了」或「AOP 使事情變得太複雜了」。在某種程度上,這篇文章是作為對這些觀點的反駁而寫的(因此標題為「簡化企業應用程式開發」)。我的意思是,AOP 的重點是,你採用變得複雜和混亂的軟體,並且透過引入切面再次為每個模組提供單一職責來簡化實作。當然還有一些...
Spring 2.0 增加了對 JPA 資料存取標準的支援,以及所有 標準 Spring 支援類別,你可以預期這些類別。Mark Fisher 有一篇 很棒的文章,介紹如何使用這種新的支援。但是,我們一直收到的問題之一是,為什麼有人會想要使用 Spring 類別 (JpaTemplate) 來存取 EntityManager。這個問題的最佳答案在於 JpaTemplate 提供的附加價值。除了提供 單行便利方法,這是 Spring 資料存取的標誌之外,它還提供自動參與事務和從 …的轉換
昨天有一些與即將出版的 Beginning Spring 2 書籍相關的文章,我想在這裡指出這些文章。
首先,由於這本書將引起那些剛接觸 Spring 的人的興趣 - 甚至那些只是在這一點上好奇的人,我們決定最好包括一些關於常見的 Spring 誤解的討論。這些已經發佈在這裡
http://www.oreillynet.com/onjava/blog/2006/08/ten_common_misconceptions_abou.html
以及在 Apress 部落格上:http://ablog.apress.com/?p=1221。
其次,Interface21 的 Steven Devijver,這本書的不知疲倦的主要作者,已經發佈了一個很好的概述
http://blog.interface21.com/main/2006/08/03/finishing-beginning-spring-2-from-novice-to-professional/.
這本書,Beginning Spring 2:從新手到專業人士,將於今年 10 月在商店中上架。雖然它的目的是為新的 Spring 使用者提供一個溫和的介紹,但即使你已經使用 Spring Framework 一段時間了,它對於「填補空白」也非常有用。換句話說,這本書涵蓋了很多內容:Spring 容器、AOP、資料存取、MVC 等。涵蓋範圍包括許多新的 Spring 2.0 功能 - 最值得注意的是一整章探索 Spring 的新的和改進的 AOP 方法,例如基於 XSD 的 AOP 命名空間,與 AspectJ 切入點表達式語言的整合以及 @AspectJ 整合! (別擔心,Spring 2 具有向後相容性 - 並且遷移路徑也很容易)。在整本書中,它提供了理論和示例的務實平衡。這些示例以一個有趣的示例應用程式為後盾(不是過於簡化)。當 Steven 邀請我貢獻一些練習時,我個人很高興 - 這是他為初學者提供出色資源的另一個絕妙主意。第一組練習將逐步介紹多種依賴注入技術,從基本的接線到使用 FactoryBeans 和外部化屬性檔案。第二組練習側重於 AOP - 包括新的命名空間和 @AspectJ 風格。
我們期待在本書發佈後建立一個活躍的配套網站,當然你也可以繼續在 Interface21 團隊部落格上找到許多關於 Spring 2.0 功能的精彩討論和示例。
在過去的一個月中,Jay Zimmerman 和我一直在努力規劃 The Spring Experience 2006 (TSE)。創建一流的技術會議並非易事 - 需要花費大量時間才能達到演講者和內容的完美結合。
我很自豪地說,我們現在已經準備好推出一場前所未有的活動。來看看
我希望在那裡見到你。我相信是什麼讓這個節目與眾不同有很多理由喜歡在 Interface21 工作,但目前為止最好的就是與業界領導者一起工作。 例如,Spring 2.0 的主要重點之一是改進 AOP 支援。 我們新增了一個新的組態命名空間、AspectJ 切入點語言和對@AspectJ aspects 的支援。 但這留下了一個大問題; 在 Spring 2.0 中編寫 Aspects 的首選方式是什麼? 由於我是 I21 的員工,我很幸運可以直接從權威人士那裡獲得答案。
我向 Adrian Colyer 提出了這個問題,他是 Interface21 的首席科學家,並且…