spring框架 技術(shù)體系介紹

Spring一種開(kāi)源輕量級(jí)框架鸿吆,為了解決企業(yè)應(yīng)用程序開(kāi)發(fā)復(fù)雜性而創(chuàng)建的课幕。致力于JavaEE應(yīng)用的各層解決方案而不僅僅專注于某一層的方案透硝。Spring技術(shù)很容易于使用初斑,并能促進(jìn)開(kāi)發(fā)人員良好的編程習(xí)慣数焊。

Spring核心技術(shù)

AOP(面向切面)永淌、IOC(控制反轉(zhuǎn))。

控制反轉(zhuǎn)可以將傳統(tǒng)的實(shí)例化方式交給ioc進(jìn)行實(shí)例化佩耳,從而提高應(yīng)用程序的響應(yīng)效率遂蛀。

Spring體系結(jié)構(gòu)

1.2版本分以下七個(gè),2.0優(yōu)化為六個(gè)干厚。

  • Spring core:Spring框架的和心,提供IOC和依賴注入蛮瞄。

  • Spring Context:提供了一種框架風(fēng)格的方式所坯,來(lái)訪問(wèn)對(duì)象,有些像是JNDI注冊(cè)表挂捅。繼承了Beans包的功能芹助,同時(shí)增加了國(guó)際化,事件傳播,資源裝載状土,資源裝載以及透明創(chuàng)建上下文苗缩。

  • Spring APO:通過(guò)配置管理,Spring AOP直接將AOP的功能集成到了Spring框架中声诸。

  • Spring Dao:提供了JDBC的抽象層,可以冗長(zhǎng)的JDBC編碼和解析數(shù)據(jù)庫(kù)廠商特有的錯(cuò)誤代碼退盯。

  • Spring ORM:Spring框架插入了若干個(gè)ORM框架彼乌,從而提供了ORM對(duì)象關(guān)系。其中包括渊迁,JDO,hibernate,ibatis慰照。所有這些都遵從Spring的通用事務(wù)和DAO層異常層次結(jié)構(gòu)。

  • Spring WEB模塊:web上下文模塊建立在應(yīng)用程序上下文模塊智商琉朽,為基于web的應(yīng)用程序提供了上下文毒租,所以,他支持與JakartaStruts的繼承箱叁。

Spring MVC框架:MVC框架是一個(gè)全功能的構(gòu)建web應(yīng)用程序的MVC實(shí)現(xiàn)墅垮。

每個(gè)部分的使用場(chǎng)景即功能

  • Spring core:最基礎(chǔ),提供IOC和依賴注入耕漱。管理bean與bean之間的依賴

  • Spring Context:上下文容器算色,beanFactory功能加強(qiáng)的一個(gè)自接口

  • Spring WEB:WEB應(yīng)用開(kāi)發(fā)的支持

  • Spring MVC:針對(duì)web應(yīng)用MVC思想實(shí)現(xiàn)

  • Spring DAO:提供了JDBC的抽象層,簡(jiǎn)化了編碼螟够,同時(shí)使之更健壯

  • Spring ORM:與流行的ORM框架的整合

  • Spring AOP:面向切面灾梦,提供與AOP聯(lián)盟兼容的編成實(shí)現(xiàn)。

Spring和SpringContext

Spring核心以BeanFactory為基礎(chǔ)妓笙,管理bean之間的依賴關(guān)系若河,它的的核心機(jī)制就是依賴注入,以此達(dá)到bean對(duì)bean實(shí)現(xiàn)類的以來(lái)寞宫。程序從面向具體類的編程萧福,轉(zhuǎn)向面向接口編程。而Spring Context是對(duì)BeanFactory的加強(qiáng)辈赋,它提供了在J2EE中的大量增強(qiáng)功能统锤,比如隨web應(yīng)用啟動(dòng)的自動(dòng)創(chuàng)建,程序國(guó)際化等炭庙。

Spring WEB和Spring MVC

提供web應(yīng)用的支持饲窿,Spring Web圍繞分發(fā)器(DispatcherServlet)設(shè)計(jì),DispatcherServlet將請(qǐng)求分發(fā)到不同的處理器焕蹄。Spring MVC提供了清洗的角色劃分:控制器逾雄,驗(yàn)證器,命令對(duì)象,表單對(duì)象鸦泳,模型對(duì)象银锻,分發(fā)器,處理器做鹰,映射和試圖解析器击纬。Spring支持多重表現(xiàn)技術(shù)。velocity xslt設(shè)置可以直接輸出PDF文檔或者excel文檔

Spring AOP 面向切面編程

起源于OOP 對(duì)OOP的補(bǔ)充和完善钾麸,解決了OOP無(wú)力解決的問(wèn)題更振。但不可以相互替代。完善了Spring的依賴注入饭尝,主要變現(xiàn)在:

  • 面向切面編程提供聲明式事務(wù)處理

  • Spring支持用戶自定義切面

還可以與AspectJ整合肯腕,整合允許通過(guò)依賴注入配置AspectJ切面

AOP舉例:于OOP中,程序代碼可以理解為上下銜接钥平。比如某行對(duì)象操作出現(xiàn)了異常实撒,對(duì)于OOP接下來(lái)就是異常處理。而對(duì)于AOP程序中不必寫異常處理涉瘾,直接運(yùn)行后續(xù)代碼知态,可以將異常看做透明立叛。將異常交給AOP攔截器肴甸,執(zhí)行異常處理。簡(jiǎn)單說(shuō)囚巴,AOP攔截程序流程原在,執(zhí)行截面里代碼

SpringDao Spring ORM 持久化支持

并沒(méi)有實(shí)現(xiàn)自己的持久化方案,集合了現(xiàn)有流行持久化框架 JDO,Hibernate,iBaties并切使用JDBC模板彤叉,封裝了JDBC的數(shù)據(jù)庫(kù)操作庶柿。Spring都提供了一致的編程方式,無(wú)論是JDBC還是各種流行的ORM持久化框架秽浇,Spring都提供了一致的異常繼承體系浮庐。它使用模板封裝持久化訪問(wèn)的通用步驟,來(lái)自底層數(shù)據(jù)庫(kù)的異常都是難以恢復(fù)的柬焕,所以审残,Spring將數(shù)據(jù)庫(kù)訪問(wèn)的checked異常轉(zhuǎn)換為運(yùn)行時(shí)異常,避免使用繁瑣的try斑举。搅轿。。catch塊

Spring核心組件

Context Beans(最核心) Core 構(gòu)建了Spring骨架結(jié)構(gòu)富玷。不可能有AOP WEB功能

Spring設(shè)計(jì)理念

Beans才是最核心的璧坟,容器使用DI(依賴注入)管理所有組成應(yīng)用系統(tǒng)的組件(Beans)

Spring的設(shè)計(jì)目標(biāo)

對(duì)象之間的依賴關(guān)系用配置文件實(shí)現(xiàn)既穆。實(shí)際就是依賴注入機(jī)制,注入關(guān)系在IOC容器中管理雀鹃。Spring將對(duì)象包裝在bean中達(dá)到對(duì)這些對(duì)象的管理幻工。

Beans組件才是三個(gè)核心組件中的核心,bean在Spring中的作用就像是Object對(duì)OOP的意義黎茎,沒(méi)有對(duì)象就沒(méi)有面向?qū)ο缶幊棠衣琒pring中沒(méi)有bean就沒(méi)有Spring存在的意義。

Context:bean包裝Object,數(shù)據(jù)傅瞻,為數(shù)據(jù)提供生存環(huán)境踢代。發(fā)現(xiàn)bean關(guān)系,并進(jìn)行維護(hù)俭正。看做Bean關(guān)系集合焙畔。IOC容器

Core:發(fā)現(xiàn)掸读、建立和維護(hù)每個(gè)Bean之間關(guān)系所需要的一系列工具

文章源

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市宏多,隨后出現(xiàn)的幾起案子儿惫,更是在濱河造成了極大的恐慌,老刑警劉巖伸但,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肾请,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡更胖,警方通過(guò)查閱死者的電腦和手機(jī)铛铁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)却妨,“玉大人饵逐,你說(shuō)我怎么就攤上這事”氡辏” “怎么了倍权?”我有些...
    開(kāi)封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)捞烟。 經(jīng)常有香客問(wèn)我薄声,道長(zhǎng),這世上最難降的妖魔是什么题画? 我笑而不...
    開(kāi)封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任默辨,我火速辦了婚禮,結(jié)果婚禮上苍息,老公的妹妹穿的比我還像新娘廓奕。我一直安慰自己抱婉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布桌粉。 她就那樣靜靜地躺著蒸绩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪铃肯。 梳的紋絲不亂的頭發(fā)上患亿,一...
    開(kāi)封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音押逼,去河邊找鬼步藕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛挑格,可吹牛的內(nèi)容都是我干的咙冗。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼漂彤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼雾消!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起挫望,我...
    開(kāi)封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤立润,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后媳板,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體桑腮,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年蛉幸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了破讨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡奕纫,死狀恐怖添忘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情若锁,我是刑警寧澤搁骑,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站又固,受9級(jí)特大地震影響仲器,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜仰冠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一乏冀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧洋只,春花似錦辆沦、人聲如沸昼捍。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)妒茬。三九已至,卻和暖如春蔚晨,著一層夾襖步出監(jiān)牢的瞬間乍钻,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工铭腕, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留银择,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓累舷,卻偏偏與公主長(zhǎng)得像浩考,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子被盈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理析孽,服務(wù)發(fā)現(xiàn),斷路器害捕,智...
    卡卡羅2017閱讀 134,638評(píng)論 18 139
  • (一)Struts、Spring殿漠、Hibernate赴精、Mybatis框技術(shù) 1.Struts2.0有幾種標(biāo)簽庫(kù) 【...
    獨(dú)云閱讀 3,235評(píng)論 0 62
  • 什么是Spring Spring是一個(gè)開(kāi)源的Java EE開(kāi)發(fā)框架。Spring框架的核心功能可以應(yīng)用在任何Jav...
    jemmm閱讀 16,445評(píng)論 1 133
  • 如今做Java尤其是web幾乎是避免不了和Spring打交道了绞幌,但是Spring是這樣的大而全蕾哟,新鮮名詞不斷產(chǎn)生,...
    MageekChiu閱讀 1,623評(píng)論 0 26
  • (睡過(guò)頭了莲蜘,剛剛起來(lái)谭确,抱歉!) 第九十六章七彩仙光 五名考核官為首的人票渠,身上足足有兩千八百萬(wàn)的功勛點(diǎn)逐哈,這個(gè)人就是曾...
    和煦晴天閱讀 153評(píng)論 0 0