Spring和Struts一樣都是一種輕量級(jí)的J2EE應(yīng)用程序框架,Struts注重的是表現(xiàn)和邏輯偶合的降低,他主要是把業(yè)務(wù)邏輯和表現(xiàn)層分開(kāi),但是不涉及業(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翻譯過(guò)來(lái)就是控制反轉(zhuǎn)的意思,如果想真正的了解IOC控制反轉(zhuǎn)到底是什么,首先需要了解一下DI(dependeney injection),也就是依賴注入.Spring就是用ID來(lái)實(shí)現(xiàn)ICO的.依賴注入的意義是保留抽象接口,讓組件依賴于抽象的接口,當(dāng)組件要與其它實(shí)際的對(duì)象發(fā)生依賴關(guān)系的時(shí)候,抽象接口來(lái)注入依賴的實(shí)際對(duì)象,形象的說(shuō),就是容器動(dòng)態(tài)的講某種依賴關(guān)系注入到組件中.
其實(shí)某種程度上來(lái)說(shuō)IOC容器有些類似于Struts的主控制器,實(shí)現(xiàn)對(duì)IOC容器的訪問(wèn)應(yīng)該通過(guò)兩個(gè)接口來(lái)完成:BeanFactory位于org.springframewok.beans.factory包中,開(kāi)發(fā)者借助于配置文件例如XML,能夠?qū)崿F(xiàn)對(duì)JavaBean的配置和管理.還有一個(gè)就是位于具體的包org.springframewok.context包的ApplicationContext它構(gòu)建在BeanFactory基礎(chǔ)之上,即繼承于它.除了具有BeanFactory的功能之外,還添加了其他大量的功能.比如IOC集成,事件,聲明容器提供的服務(wù)等等N多.主要用于開(kāi)發(fā)J2EE應(yīng)用.這里還是推薦實(shí)用Spring的ApplicationContext接口.
posted on 2005-11-13 09:08
我心依舊 閱讀(5416)
評(píng)論(5) 編輯 收藏