7.Spring

Spring出來好多好多年了,當(dāng)時給Spring的定義是輕量級的web容器,這就對應(yīng)什么是重量級的了web容器了,EJB。記得在2005年左右,做企業(yè)級應(yīng)用開發(fā)時,選什么web容器,當(dāng)然是EJB了,企業(yè)級嘛,要用就用重量級的。EJB出到3.0就沒再往下發(fā)展了,主要原因就在于過于復(fù)雜了,而且跟其他很多框架都很難整合,會的人太少太少,而且99%的項目其實用不到EJB。所以在這個好的環(huán)境下,Spring快速發(fā)展,可以說是EJB的神助攻,到現(xiàn)在基本Spring一統(tǒng)天下了。

當(dāng)然這個對初學(xué)者是利好消息,沒有選擇就是最好的選擇,除此之外別無選擇。下面幾節(jié)將要介紹Spring的核心,控制反轉(zhuǎn)IOC和面向切面編程AOP,這也是Spring開篇就說到的兩個核心,弄懂這兩個核心,再學(xué)其他的就易如反掌了。

Spring架構(gòu)圖

先上個架構(gòu)圖吧,這個圖就把Spring框架包含的一覽無余,當(dāng)然只是核心的,目前衍生的太多太多,全是集成各個中間件,還有去年大火的微服務(wù),后面會講到。

  • test, spring集成了junit,對這個做了適配,更好的依賴Spring做測試
  • Beans和Core ,提供了框架的基本支持, 主要包含了 IOC (控制反轉(zhuǎn)) 和 DI (依賴注入) 特性, BeanFacotry 作為工廠模式的超級接口, 耦合低
  • Context,繼承了beans模塊特性, 并且添加了國際化支持,事件傳播,資源加載, 開發(fā)式的上下文構(gòu)建, 還有超級接口 ApplicationContext
  • SpEL,表達式支持, 這個主要就是用來支持一些spring XML 配置文件表達式 和 注解中一些表達式解析,讓配置有動態(tài)特性
  • DataAccess,提供持久化框架的集成,事務(wù)控制,消息隊列服務(wù)等
  • Web,提供View層的整合,WebSocket通信等

當(dāng)然這張圖還沒有完全包含Spring,只包括最最核心的,下面幾節(jié)我主要講IOC和AOP,列表如下:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容