Spring框架目前如此流行,一方面的原因在于Spring提供了一套全面并且十分成熟的輕型應用程序基本框架,并且對復雜的應用開發提供了有力的支持。除此之外,從實際應用開發角度來看,Spring最大的優勢在于它是從實際項目開發經驗中抽取的,其提供了豐富的類庫,可大大節省編碼量,它是一種高效的、可高度重用的應用框架。Spring框架中目前最吸引人也是該應用框架最具特色的地方就是名為控制反轉(IOC=Inverse Of Control)或者依靠注入(DI=Dependence Injection)的設計思想,這是一種相當優秀的設計思想,即“好萊塢”原則:不用你主動來找我,我會通知你。但是,僅僅憑借著這樣一個單純的設計模式并不能使得Spring如此成功,Spring最成功的地方,還是目前使用最為廣泛的AOP應用,也就是Spring中基于AOP實現的業務治理機制,也正是由于這一點,使得Spring AOP成為應用框架中極其閃光的一個亮點。
我們先來分析一下Spring事務治理機制的實現原理。由于Spring內置AOP默認使用動態代理模式實現,我們就先來分析一下動態代理模式的實現方法。動態代理模式的核心就在于代碼中不出現與具體應用層相關聯的接口或者類引用,如上所說,這個代理類適用于任何接口的實現。下面我們來看一個例子。 public class TxHandler implements InvocationHandler {