面試資料系列(3): Spring

1.Spring MVC工作流程


1柜裸、用戶發(fā)送請求至前端控制器DispatcherServlet
2缕陕、DispatcherServlet收到請求調(diào)用HandlerMapping處理器映射器。
3疙挺、處理器映射器找到具體的處理器扛邑,生成處理器對象及處理器攔截器(如果有則生成)一并返回給DispatcherServlet。
4铐然、DispatcherServlet調(diào)用HandlerAdapter處理器適配器
5蔬崩、HandlerAdapter經(jīng)過適配調(diào)用具體的處理器(Controller,也叫后端控制器)搀暑。
6舱殿、Controller執(zhí)行完成返回ModelAndView
7、HandlerAdapter將controller執(zhí)行結(jié)果ModelAndView返回給DispatcherServlet
8险掀、DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器
9、ViewReslover解析后返回具體View
10湾宙、DispatcherServlet根據(jù)View進行渲染視圖(即將模型數(shù)據(jù)填充至視圖中)樟氢。
11、DispatcherServlet響應(yīng)用戶

2. Spring是什么侠鳄,優(yōu)點

  • 目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性
  • 功能:使用基本的JavaBean代替EJB埠啃,并提供了更多的企業(yè)應(yīng)用功能
  • 范圍:任何Java應(yīng)用
      簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架伟恶。
      1. 輕量——從大小與開銷兩方面而言Spring都是輕量的碴开。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的博秫。此外潦牛,Spring是非侵入式的:典型地,Spring應(yīng)用中的對象不依賴于Spring的特定類挡育。
      2. 控制反轉(zhuǎn)——Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進了松耦合巴碗。當(dāng)應(yīng)用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來即寒,而不是這個對象自己創(chuàng)建或者查找依賴對象橡淆。你可以認(rèn)為IoC與JNDI相反——不是對象從容器中查找依賴召噩,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。
      3. 面向切面——Spring提供了面向切面編程的豐富支持逸爵,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級服務(wù)(例如審計(auditing)和事務(wù)()管理)進行內(nèi)聚性的開發(fā)具滴。應(yīng)用對象只實現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。它們并不負(fù)責(zé)(甚至是意識)其它的系統(tǒng)級關(guān)注點师倔,例如日志或事務(wù)支持构韵。
      4. 容器——Spring包含并管理應(yīng)用對象的配置和生命周期,在這個意義上它是一種容器溯革,你可以配置你的每個bean如何被創(chuàng)建——基于一個可配置原型(prototype)贞绳,你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關(guān)聯(lián)的。然而致稀,Spring不應(yīng)該被混同于傳統(tǒng)的重量級的EJB容器冈闭,它們經(jīng)常是龐大與笨重的,難以使用抖单。
      5. 框架——Spring可以將簡單的組件配置萎攒、組合成為復(fù)雜的應(yīng)用。在Spring中矛绘,應(yīng)用對象被聲明式地組合耍休,典型地是在一個XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理货矮、持久化框架集成等等)羊精,將應(yīng)用邏輯的開發(fā)留給了你。
      所有Spring的這些特征使你能夠編寫更干凈囚玫、更可管理喧锦、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持抓督。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末燃少,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子铃在,更是在濱河造成了極大的恐慌阵具,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件定铜,死亡現(xiàn)場離奇詭異阳液,居然都是意外死亡,警方通過查閱死者的電腦和手機揣炕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門趁舀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人祝沸,你說我怎么就攤上這事矮烹≡奖樱” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵奉狈,是天一觀的道長卤唉。 經(jīng)常有香客問我,道長仁期,這世上最難降的妖魔是什么桑驱? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮跛蛋,結(jié)果婚禮上熬的,老公的妹妹穿的比我還像新娘。我一直安慰自己赊级,他們只是感情好押框,可當(dāng)我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著理逊,像睡著了一般橡伞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上晋被,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天兑徘,我揣著相機與錄音,去河邊找鬼羡洛。 笑死挂脑,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的欲侮。 我是一名探鬼主播最域,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼锈麸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起牺蹄,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤忘伞,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后沙兰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氓奈,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年鼎天,在試婚紗的時候發(fā)現(xiàn)自己被綠了舀奶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡斋射,死狀恐怖育勺,靈堂內(nèi)的尸體忽然破棺而出但荤,到底是詐尸還是另有隱情,我是刑警寧澤涧至,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布腹躁,位于F島的核電站,受9級特大地震影響南蓬,放射性物質(zhì)發(fā)生泄漏纺非。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一赘方、第九天 我趴在偏房一處隱蔽的房頂上張望烧颖。 院中可真熱鬧,春花似錦窄陡、人聲如沸炕淮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鳖悠。三九已至,卻和暖如春优妙,著一層夾襖步出監(jiān)牢的瞬間乘综,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工套硼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留卡辰,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓邪意,卻偏偏與公主長得像九妈,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子雾鬼,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,512評論 2 359

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

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,848評論 6 342
  • 什么是Spring Spring是一個開源的Java EE開發(fā)框架萌朱。Spring框架的核心功能可以應(yīng)用在任何Jav...
    jemmm閱讀 16,475評論 1 133
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)策菜,斷路器晶疼,智...
    卡卡羅2017閱讀 134,699評論 18 139
  • 1.什么是Spring框架? Spring是一個輕量級的java開源框架又憨,為了解決企業(yè)級應(yīng)用開發(fā)的復(fù)雜性創(chuàng)建的ja...
    gskobe0811閱讀 521評論 0 3
  • 做為一個資深的拖延癥患者翠霍,在戰(zhàn)拖的路上,屢戰(zhàn)屢敗蠢莺,屢敗屢戰(zhàn)寒匙。今日轉(zhuǎn)念一想,拖延應(yīng)該也是有大大的好處躏将,不然智商情商...
    大衛(wèi)飛思閱讀 2,706評論 5 0