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