初識Spring架構(gòu)

對Spring的了解

對于Spring框架,其實大家對它不陌生钓葫,比如我們面試的時候拨匆,說說你對spring的了解茄唐,脫口而出的控制反轉(zhuǎn)ioc(Inversion of Control)和面向切面編程aop(Aspect Oriented Programming)凸郑。但其實我覺得對于Spring框架給咱們帶來的方便辜限,就是對于bean的操作交給容器去管理蛮位,我們只需要讓容器去創(chuàng)建我們需要的bean就可以了逊移。而不是自己每次使用的時候都需要將對象new一下预吆,降低代碼之間的耦合度。

缺點就是對于xml配置過多胳泉,導(dǎo)致我們在用spring框架需要配置過多的xml配置文件拐叉。這個也在之后的springboot中進(jìn)行了簡化。

那我們大概說一下spring的這幾個點

依賴注入DI(Dependency injection)

DI:將所依賴的關(guān)系自動交給目標(biāo)對象扇商,而不是讓對象自己去獲得依賴凤瘦,從而實現(xiàn)松耦合。

DI分為依賴和注入

- 依賴:依賴DI容器提供外部資源

- 注入:將對象需要的外部資源通過DI容器注入進(jìn)來

那怎么將對象注入進(jìn)來案铺?

  • 可以通過注解的方式自動裝配
  • 可以通過Java的注解配置進(jìn)行裝配
  • 可以通過xml的方式進(jìn)行裝配

這幾種方式我們會在之后進(jìn)行詳解蔬芥。

面向切面編程(apect-oriented programming,AOP)

面向切面編程是促使軟件系統(tǒng)實現(xiàn)關(guān)注點分離的一項技術(shù)。我們可以把日志,安全和事物關(guān)注點與核心邏輯相分離笔诵。這樣我們只需要關(guān)注于核心邏輯代碼的編寫返吻。

Spring容器

  • 容器是spring框架的核心,負(fù)責(zé)創(chuàng)建對象乎婿,裝配它們测僵,配置它們并且管理它們的整個生命周期。
  • Spring容器使用DI管理構(gòu)成應(yīng)用的組件次酌,它會創(chuàng)建相互寫作的組件之間的聯(lián)系(將外部資源通過DI容器注入到哪個需要它的對象)
  • Spring容器分為兩個類型:bean工廠和應(yīng)用上下文
    • bean工廠(org.springframework.beans.factory.BeanFactory接口定義)是最簡單的容器恨课,提供基本的DI支持
    • 應(yīng)用上下文(由org.springframework.context.ApplicationContext接口定義)舆乔,基于BeanFactory構(gòu)建岳服,并提供應(yīng)用框架級別的服務(wù),例如從屬性文件解析文本信息以及發(fā)布應(yīng)用時間給感興趣的事件監(jiān)聽者希俩。下面羅列幾個可能會遇到的
      • AnnotationConfigApplicationContext:獨立的應(yīng)用程序上下文吊宋,接受帶注釋的類作為輸入,特別是@Configuration注釋的類或者@Component類型颜武。從一個或多個基于java配置類中加載Spring應(yīng)用上下文璃搜。
      • AnnotationConfigWebApplicationContext:從一個或多個基于java配置類中加載Spring Web應(yīng)用上下文。
      • ClassPathXmlApplicationContext:從類路徑下的一個或多個xml配置文件中加載上下文定義鳞上。
      • FileSystemXmlApplicationContext:從文件系統(tǒng)下的一個或多個xml配置文件中加載上下文定義这吻。
      • XmlWebApplicationContext:從web應(yīng)用下的一個或多個xml配置文件中加載上下文定義。

Spring模塊

Spring模塊架構(gòu)圖

上圖是spring5的核心模塊篙议,詳細(xì)內(nèi)容可以去其它博客查看唾糯。spring5體系架構(gòu)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鬼贱,隨后出現(xiàn)的幾起案子移怯,更是在濱河造成了極大的恐慌,老刑警劉巖这难,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舟误,死亡現(xiàn)場離奇詭異,居然都是意外死亡姻乓,警方通過查閱死者的電腦和手機嵌溢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹋岩,“玉大人堵腹,你說我怎么就攤上這事⌒前模” “怎么了疚顷?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我腿堤,道長阀坏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任笆檀,我火速辦了婚禮忌堂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘酗洒。我一直安慰自己士修,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布樱衷。 她就那樣靜靜地躺著棋嘲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪矩桂。 梳的紋絲不亂的頭發(fā)上沸移,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機與錄音侄榴,去河邊找鬼雹锣。 笑死,一個胖子當(dāng)著我的面吹牛癞蚕,可吹牛的內(nèi)容都是我干的蕊爵。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼桦山,長吁一口氣:“原來是場噩夢啊……” “哼攒射!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起度苔,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤匆篓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后寇窑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鸦概,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年甩骏,在試婚紗的時候發(fā)現(xiàn)自己被綠了窗市。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡饮笛,死狀恐怖咨察,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情福青,我是刑警寧澤摄狱,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布脓诡,位于F島的核電站,受9級特大地震影響媒役,放射性物質(zhì)發(fā)生泄漏祝谚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一酣衷、第九天 我趴在偏房一處隱蔽的房頂上張望交惯。 院中可真熱鬧,春花似錦穿仪、人聲如沸席爽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽只锻。三九已至,卻和暖如春钠龙,著一層夾襖步出監(jiān)牢的瞬間炬藤,已是汗流浹背御铃。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工碴里, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人上真。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓咬腋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親睡互。 傳聞我的和親對象是個殘疾皇子根竿,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

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