1.認識事務本身:事務的目的,概念,屬性<br> 2.Spring對事務的支持:編程式的事務管理,聲明式的事務管理
JdonFramework(簡稱JF)就是這樣一個簡單易使的輕量框架。 1. 能夠在一兩個小時內快速開發簡單應用系統。 2. 能夠在此架構基礎上無縫平滑發展成為一個可方便維護、可靈活拓展、可伸縮的中大型系統。
基于注釋(Annotation)的配置有越來越流行的趨勢,Spring 2.5 順應這種趨勢,提供了完全基于注釋配置 Bean、裝配 Bean 的功能,您可以使用基于注釋的 Spring IoC替換原來基于XML的配置。本文通過實例詳細講述了Spring2.5基于注釋IoC功能的使用。
spring-core.jar這個jar 文件包含Spring 框架基本的核心工具類。Spring 其它組件要都要使用到這個包里的類,是其它組件的基本核心,當然你也可以在自己的應用系統中使用這些工具類。
源代碼分析,是一件既痛苦又快樂的事情,看別人寫的代碼是通過的,但當你能夠看明白的時候,相信快樂也會隨之而來,為了減少痛苦,更快的帶來快樂,在這里希望通過這篇文章對覺得困難的朋友有一個幫助。 本文以spring框架的XmlBeanFactory為入手點進行分析,希望能夠以盡量簡潔明了的方式給予有需要的朋友一定的幫助。
petstore1.3是一個集客戶購物,下訂單,管理一體的例子!現實的系統不會是這樣單貝兒的,大多數的系統要和多個數據源和其他的EIS(企業信息系統)打交道的。這些外部系統可能是資產信息,ERP。也有可能是一個別的公司的WebService(這東東最近太XX熱了)。屁如說,訂單的提交可能是一個公司,信用卡服務可能另外的公司,運送又是一個公司。Petstore1.3劃分成了多個模塊,松耦合的設計架構,允許可以和多個數據源,EIS進行交互。這個例子,分成4個部分:<br> ?web購物站點<br> ?管理看銷售統計,手工接受/拒絕訂單,界面也是個web應用<br> ?訂單處理通過JMS接受/處理訂單消息(xml的)用java mail來通知客戶通過JMS發訂單給供應商為何訂單數據庫<br> ?供應商通過JMS接受訂單派送貨物給用戶提供一個基于web的庫存管理維護庫存數據庫.
理論知識1.依賴注入、控制反轉依賴注入:在運行期,由外部容器動態地將依賴對象注入到組件中控制反轉:應用本身不負責依賴對象的創建及維護,依賴對象的創建及維護是由外部窗口負責得。這樣控制權就由應用轉移到了外部容器,控制權的轉移就是所謂的反轉。2.spring的主要特性。(1)降低組件之間的耦合度,實現軟件各層之間的解耦。(2)可以使用容器提供的眾多服務,如:事務管理服務、消息服務、JMS服務、持久化服務等等。(3)容器提供單例模式支持,開發人員不再需要自己編寫實現代碼。(4)容器提供了AOP技術,利用它很容易實現如權限攔截,運行期監控等功能。(5)容器提供的眾多輔作類,使用這些類能夠加快應用的開發,如:JdbcTemplate、HibernateTemplate.(6)對主流的應用框架提供了集成支持。
什么是動態定時任務:是由客戶制定生成的,服務端只知道該去執行什么任務,但任務的定時是不確定的(是由客戶制定)。
1.依賴注入、控制反轉 依賴注入:在運行期,由外部容器動態地將依賴對象注入到組件中 控制反轉:應用本身不負責依賴對象的創建及維護,依賴對象的創建及維護是由外部窗口負責得。這樣控制權就由應用轉移到了外部容器,控制權的轉移就是所謂的反轉。 2.spring的主要特性。 (1)降低組件之間的耦合度,實現軟件各層之間的解耦。 (2)可以使用容器提供的眾多服務,如:事務管理服務、消息服務、JMS服務、持久化服務等等。 (3)容器提供單例模式支持,開發人員不再需要自己編寫實現代碼。 (4)容器提供了AOP技術,利用它很容易實現如權限攔截,運行期監控等功能。 (5)容器提供的眾多輔作類,使用這些類能夠加快應用的開發,如:JdbcTemplate、HibernateTemplate. (6)對主流的應用框架提供了集成支持。
本文為了從各個細節說明一個基本struts2+spring2+hibernate3構建網站的架構, Struts:作為基于 MVC 模式的 Web 應用最經典框架,兩個項目Struts 和webwork已經集成,成為現在的Struts2。目前的最新版本是2.0.9(2007-7)。<br>Spring: 是一個輕型的容器,利用它可以使用一個外部 XML 配置文件方便地將對象連接在一起。每個對象都可以通過顯示一個 JavaBean 屬性收到一個到依賴對象的引用,留給您的簡單任務就只是在一個 XML 配置文件中把它們連接好。 <br>Hibernate 是一個純 Java 的對象關系映射和持久性框架,它允許您用 XML 配置文件把普通 Java 對象映射到關系數據庫表。使用 Hibernate 能夠節約大量項目開發時間,因為整個 JDBC 層都由這個框架管理。這意味著您的應用程序的數據訪問層位于 Hibernate 之上,完全是從底層數據模型中抽象出來的。 三種技術到目前已經比較成熟,而且他們都是免費的!讓我們對三者集成進行一個初覽(簡單而不專業):我們用Struts實現從Web(網頁,MVC中的View)到后臺系統的映射(WebàAction),然后由Spring管理這些Action,把它們作為Bean和其他對象一起處理。這些Bean之間處理業務邏輯、數據、系統狀態等,且它們被Spring統一管理,為了區分,就算大概包括MVC的MC部分吧。然后需要持久化的數據由Spring和Hibernate之間的接口交由Hibernate處理(這個屬于持久層)。
ActivationDataFlavor 類是 java.awt.datatransfer.DataFlavor 的一個特殊子類。它允許 JAF 通過新的構造方法設置 DataFlavor 類所存儲的所有三個值。它還包含 equals 方法中增強的 MIME 解析。除了增強的解析外,其語義與 JDK DataFlavor 類的語義相同。
此前對于AOP的使用僅限于聲明式事務,除此之外在實際開發中也沒有遇到過與之相關的問題。最近項目中遇到了以下幾點需求,仔細思考之后,覺得采用AOP來解決。一方面是為了以更加靈活的方式來解決問題,另一方面是借此機會深入學習SpringAOP相關的內容。本文是權當本人的自己AOP學習筆記。
Spring也提供了聲明式事務管理。這是通過SpringAOP實現的。Spring中進行事務管理的通常方式是利用AOP(面向切片編程)的方式,為普通java類封裝事務控制,它是通過動態代理實現的,由于接口是延遲實例化的,spring在這段時間內通過攔截器,加載事務切片。原理就是這樣,具體細節請參考jdk中有關動態代理的文檔。本文主要講解如何在spring中進行事務控制。動態代理的一個重要特征是,它是針對接口的,所以我們的dao要通過動態代理來讓spring接管事務,就必須在dao前面抽象出一個接口,當然如果沒有這樣的接口,那么spring會使用CGLIB來解決問題,但這不是spring推薦的方式,所以不做討論.
SSH在J2EE項目中表示了3種框架,既Spring+Struts+Hibernate Struts。
Java應用框架總覽綜述阿里巴巴的Java應用程序是由一套自己開發的框架來構建的。從橫向看,分成三個層次,每一個層次都有一個框架作為基礎。 <br>1.表現層(PresentationTier)——負責和WEB用戶交互、或通過WebService和外界應用交互。這一層是外界和內部商業邏輯交流的紐帶。<br>2.商業邏輯層(BusinessTier)——實現了核心的商業邏輯。通過數據訪問層存取數據源中數據。 <br>3.數據訪問層(DataAccessTier)——和底層數據源交互,存取數據。也可以和公司內部的其它系統之間通信。從縱向看,可以看到還有一些跨層模塊來支持各層次的運作。這些模塊也是框架的一部分。應用開發者只需要開發上圖中“加陰影”的部分。