日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

轻松理解Spring框架的基本思想

發(fā)布時(shí)間:2025/3/15 javascript 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 轻松理解Spring框架的基本思想 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

說起Spring框架,就不得不說J2EE的EJB。年齡稍大一些的Java程序員對(duì)J2EE的EJB還是記憶猶新的,當(dāng)時(shí)使用EJB開發(fā)大型應(yīng)用系統(tǒng)非常時(shí)髦,Java程序員無不以掌握EJB開發(fā)技術(shù)為自豪,程序員引以為豪的原因是EJB的技術(shù)太復(fù)雜了,以至于一般的Java程序員很難掌握這么復(fù)雜的技術(shù)。

EJB的學(xué)習(xí)成本很高,開發(fā)效率卻不高,需要編寫很多重復(fù)的代碼,這些問題阻止了EJB的繼續(xù)發(fā)展。就在EJB技術(shù)止步不前的時(shí)候,Spring框架在合適的時(shí)機(jī)出現(xiàn)了,Spring框架和EJB不同,Spring框架的學(xué)習(xí)成本非常低,它是一個(gè)輕量級(jí)的開發(fā)框架,更多強(qiáng)調(diào)面向?qū)ο蟮脑O(shè)計(jì),而不是讓現(xiàn)有的技術(shù)變得更復(fù)雜,它使用JavaBean替代了復(fù)雜的EJB,并且為JavaBean提供了簡(jiǎn)單易用的應(yīng)用配置框架。

一個(gè)JavaBean就是一個(gè)公共類,它可以被其它JavaBean類作為組件來使用,并且JavaBea之間的組配不需要在代碼級(jí)實(shí)現(xiàn),完全可以在配置層和注解層實(shí)現(xiàn),Spring會(huì)自動(dòng)選擇相適配的JavaBean來組配運(yùn)行。這種自動(dòng)適配機(jī)制避免了JavaBean與使用類之間的代碼耦合,提高了程序的可擴(kuò)展性和維護(hù)性。

例如類A要使用類B,類B是類A的屬性,如果直接在類A中創(chuàng)建類B,當(dāng)類B因業(yè)務(wù)需要修改時(shí),也需要修改類A的代碼,這種寫法就是代碼耦合,也可以說類A和類B屬于代碼耦合。

假如我們把類B的創(chuàng)建交給Spring,Spring通過配置文件或者通過Java注解來創(chuàng)建類B,然后再由Spring把創(chuàng)建的類B實(shí)例和類A的實(shí)例組配起來,這樣就避免了類A與類B的代碼耦合。這種機(jī)制就是Spring框架的控制反轉(zhuǎn)思想,相當(dāng)于類A把創(chuàng)建類B權(quán)利交給了Spring,由Spring來控制類B的創(chuàng)建。

Spring框架還有一個(gè)比較重要的功能,那就是AOP機(jī)制。Spring框架的AOP機(jī)制可以把系統(tǒng)中的一些通用功能抽取出來,作為JavaBean來使用,與此同時(shí)在系統(tǒng)的業(yè)務(wù)流程代碼中設(shè)置調(diào)用這些JavaBean功能的切入點(diǎn),當(dāng)系統(tǒng)業(yè)務(wù)流程執(zhí)行到切入點(diǎn)時(shí),Spring會(huì)自動(dòng)把需要調(diào)用的JavaBean橫向切入到業(yè)務(wù)流程指定的位置,AOP的這種技術(shù)也稱為“橫切”技術(shù)。

例如,在一個(gè)業(yè)務(wù)系統(tǒng)中,當(dāng)用戶要進(jìn)入需要操作權(quán)限的頁面時(shí),系統(tǒng)會(huì)先進(jìn)入登錄頁,要求用戶登錄系統(tǒng)后再進(jìn)入該頁面。這樣的操作權(quán)限頁面會(huì)有多個(gè),如果為每個(gè)頁面都寫登錄業(yè)務(wù)邏輯處理代碼,顯然是會(huì)造成代碼冗余,維護(hù)起來也非常麻煩。比較好的做法是把用戶登錄業(yè)務(wù)處理作為一個(gè)獨(dú)立的JavaBean,這個(gè)JavaBean也稱為AOP的“切面”。然后在需要用戶操作權(quán)限的業(yè)務(wù)流程頁面設(shè)置“切入點(diǎn)”,并通過注解或配置文件將“切面”和“切入點(diǎn)”連接起來。當(dāng)業(yè)務(wù)流程執(zhí)行到“切入點(diǎn)”時(shí),Spring框架會(huì)自動(dòng)把與切入點(diǎn)關(guān)聯(lián)的“切面”切入到業(yè)務(wù)流程“切入點(diǎn)”所在的位置,開始執(zhí)行“切面”代碼,直至切面代碼執(zhí)行完畢,然后根據(jù)“切面”返回的結(jié)果確定是否執(zhí)行后面的流程。下圖是用戶登錄功能切入到業(yè)務(wù)流程的示意圖。

?

圖1 用戶登錄功能切入到業(yè)務(wù)流程示意圖

Spring框架還有一個(gè)最大的特征就是和現(xiàn)有的開發(fā)框架不是競(jìng)爭(zhēng)關(guān)系,而是采用融合的方式將其它框架集成進(jìn)來,充分利用其它框架的技術(shù),為系統(tǒng)實(shí)現(xiàn)提供最優(yōu)解決方案。SSM就是Spring框架融合了MVC框架技術(shù)和MyBatis數(shù)據(jù)庫框架技術(shù)。

總結(jié)

以上是生活随笔為你收集整理的轻松理解Spring框架的基本思想的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。