Spring和Struts一樣都是一種輕量級的J2EE應用程序框架,Struts注重的是表現和邏輯偶合的降低,他主要是把業務邏輯和表現層分開,但是不涉及業務層與持久層的關聯.Spring主要是對業務層的層次細化,也就是更深層次的降低了偶合程度,核心是一個輕量級的容器container,實現了IOC模式的容器,Spring的目標是實現一個全方位的這個整合框架,在Spring框架下現實多個子框架的組合這些框架之間彼此可以獨立,也可以實用其他的框架方案進行代替.核心模式是IOC.核心的容器就是一個IOC/DI的容器,它可以幫程序設計人員完成組件之間的依賴關注入連接,使得組件之前依賴達到最小.提高組件的重用,Spring是個低侵入性的框架,Spring中的組件并不會意識到他正職于Spring中,這使得組件可以輕易的從框架中脫離,而幾乎不用任何的修改.
IOC全名inversion of control翻譯過來就是控制反轉的意思,如果想真正的了解IOC控制反轉到底是什么,首先需要了解一下DI(dependeney injection),也就是依賴注入.Spring就是用ID來實現ICO的.依賴注入的意義是保留抽象接口,讓組件依賴于抽象的接口,當組件要與其它實際的對象發生依賴關系的時候,抽象接口來注入依賴的實際對象,形象的說,就是容器動態的講某種依賴關系注入到組件中.