Spring 框架


Spring 系列教程


Spring是一個JEE開發(fā)框架,開源媳纬,輕量級蓖乘,功能強大坎弯。

JEE - Java Enterprise Edition / Java企業(yè)版
主要用于開發(fā)企業(yè)軟件的Java版本。企業(yè)軟件例子:會計軟件振诬、帳單管理、業(yè)務流程管理、CMS傀蓉、CRM、ERP等职抡。

Spring框架的核心特性是依賴注入(DI)與面向切面編程(AOP)葬燎,Spring框架可以看作是一個控制反轉(zhuǎn)的容器。盡管Spring主要用于JEE應用開發(fā),但實際上這2個核心特性可用于任何Java項目谱净。

Spring框架是Java EE開發(fā)中最流行的框架窑邦,已經(jīng)成為JEE事實上的標準,全世界的開發(fā)人員都在使用Spring框架開發(fā)各種應用壕探。

Spring框架是澳大利亞計算機專家Roderick B. Johnson于2002年發(fā)布冈钦,誕生以來發(fā)布了很多版本,目前最新版是5.0

Spring框架優(yōu)點

  • 松耦合李请,組件(Bean)之間依賴很松瞧筛,模塊可以輕松替換
  • 簡單,非侵入式导盅,組件(Bean)本身只是簡單的Java對象较幌,無需任何特殊處理,非常簡單

依賴注入/DI(控制反轉(zhuǎn)/IOC)

Spring框架2個核心技術之一是依賴注入(Dependency Injection / DI)白翻。

Java程序中乍炉,Java類是基本的代碼組織單位。當某個類要使用另一個類時嘁字,自然的做法是創(chuàng)建另一個類的對象恩急,然后調(diào)用該對象的方法。這樣做在程序規(guī)模較小時沒什么問題纪蜒,但當程序規(guī)模很大時這些類之間過于緊密的耦合會導致后續(xù)開發(fā)維護困難衷恭。例如要替換其中某個類,就不得不修改所有涉及這個類的代碼纯续。

控制反轉(zhuǎn)(Inversion of Control / IoC)與依賴注入(Dependency Injection / DI)就是為解決這個問題随珠。上面提到類里面創(chuàng)建另外一個類對象會造成耦合太緊,Spring框架就把創(chuàng)建類的行為從類中拿出來放到Spring框架里去做猬错,類與類之間創(chuàng)建關系就沒有了窗看。

本來由類控制其所依賴的類對象的創(chuàng)建,現(xiàn)在把創(chuàng)建動作放到Spring框架里了倦炒,由框架控制所有類對象的創(chuàng)建显沈,這就是“控制反轉(zhuǎn)”。

框架創(chuàng)建了類所依賴的對象逢唤,然后把這些對象傳給(注入)依賴它們的類拉讯,這就是“依賴注入”。

所以可以看到鳖藕,Spring框架中控制反轉(zhuǎn)(Inversion of Control / IoC)與依賴注入(Dependency Injection / DI)實際上講的是同一個事情魔慷,只是角度不同。

關于依賴注入著恩,后續(xù)會有詳細介紹院尔。

面向切面編程/AOP

Spring框架另外一個核心技術是面向切面編程(Aspect Oriented Programming/AOP)蜻展。

面向切面編程的主要作用是,在不修改源代碼的情況下邀摆,可以給目標類打補丁纵顾,讓其執(zhí)行補丁中的代碼。

例如隧熙,用戶類中有個登錄方法片挂,現(xiàn)在需要加用戶登錄日志幻林。使用AOP就不需要修改用戶登錄方法贞盯,只需把日志代碼注入到用戶登錄方法前后,讓其執(zhí)行沪饺。日志代碼就是“切面”躏敢,插入代碼的地方(用戶類的登錄方法)就是“連接點”。

關于AOP后續(xù)會有詳細介紹整葡。

注意:依賴注入/DI(控制反轉(zhuǎn)/IOC)與 面向切面編程/AOP都是基于Java的反射機制件余。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市遭居,隨后出現(xiàn)的幾起案子啼器,更是在濱河造成了極大的恐慌,老刑警劉巖俱萍,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件端壳,死亡現(xiàn)場離奇詭異,居然都是意外死亡枪蘑,警方通過查閱死者的電腦和手機损谦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岳颇,“玉大人照捡,你說我怎么就攤上這事』安啵” “怎么了栗精?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長瞻鹏。 經(jīng)常有香客問我悲立,道長,這世上最難降的妖魔是什么乙漓? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任级历,我火速辦了婚禮,結果婚禮上叭披,老公的妹妹穿的比我還像新娘寥殖。我一直安慰自己玩讳,他們只是感情好,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布嚼贡。 她就那樣靜靜地躺著熏纯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪粤策。 梳的紋絲不亂的頭發(fā)上樟澜,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機與錄音叮盘,去河邊找鬼秩贰。 笑死,一個胖子當著我的面吹牛柔吼,可吹牛的內(nèi)容都是我干的毒费。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼愈魏,長吁一口氣:“原來是場噩夢啊……” “哼觅玻!你這毒婦竟也來了?” 一聲冷哼從身側響起培漏,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤溪厘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后牌柄,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體畸悬,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年友鼻,在試婚紗的時候發(fā)現(xiàn)自己被綠了傻昙。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡彩扔,死狀恐怖妆档,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情虫碉,我是刑警寧澤贾惦,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站敦捧,受9級特大地震影響须板,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜兢卵,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一习瑰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧秽荤,春花似錦甜奄、人聲如沸柠横。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽牍氛。三九已至,卻和暖如春烟阐,著一層夾襖步出監(jiān)牢的瞬間搬俊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工蜒茄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留唉擂,地道東北人。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓扩淀,卻偏偏與公主長得像楔敌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子驻谆,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

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