SSH框架網(wǎng)上商城項(xiàng)目第30戰(zhàn)之項(xiàng)目總結(jié)(附源碼下載地址)
0. 寫在前面
友情提示:下載地址在下面哦。
項(xiàng)目基本完成了,加上這個(gè)總結(jié),與這個(gè)項(xiàng)目相關(guān)的博客也寫了30篇了,積少成多,寫博客的過(guò)程是固化思路的一個(gè)過(guò)程,對(duì)自己很有用,同時(shí)也能幫助別人。順便說(shuō)個(gè)題外話,在學(xué)習(xí)的過(guò)程中肯定會(huì)遇到很多異常出現(xiàn),我們要做的首先是定位這個(gè)異常,一般異常的后面都會(huì)跟一個(gè)或多個(gè)Caused by:xxx,這些都是引起異常的原因,一般我們找最下面的一個(gè)Caused by,那里往往才是問(wèn)題的根源。如果自己解決不了,可以去谷歌、百度搜索(搜索的時(shí)候別一大堆異常往上一貼,注意搜關(guān)鍵的部分!),一般我們遇到的問(wèn)題,99.9%前人都遇到過(guò),基本都能解決,我遇到不能解決的問(wèn)題基本都是這么干的,自己解決的多了,就有感覺(jué)了~最后希望大家在閱讀我的博客時(shí)會(huì)有所收獲!
廢話就不說(shuō)了,下面總結(jié)一下這個(gè)網(wǎng)上商城的項(xiàng)目,我不會(huì)面面俱到,主要分為幾個(gè)模塊來(lái)總結(jié),包括 用到了哪些技術(shù)等等,具體的細(xì)節(jié)我會(huì)在文章中附上快速鏈接,大家可以查看具體的某篇文章。
回憶一下這個(gè)項(xiàng)目,總共可以分為這些主要的模塊:
---項(xiàng)目環(huán)境的搭建
---搭建后臺(tái)管理系統(tǒng)
---搭建前臺(tái)顯示頁(yè)面
---購(gòu)物車相關(guān)功能
---在線支付功能
---郵件和短信的發(fā)送功能
---域名的申請(qǐng)和項(xiàng)目的部署
---表單驗(yàn)證和報(bào)表的顯示
下面針對(duì)每個(gè)模塊,做一下具體的分析。
1. 項(xiàng)目環(huán)境的搭建
這是每個(gè)工程都少不了的環(huán)節(jié),而且也會(huì)出現(xiàn)很多亂七八糟的問(wèn)題,剛開(kāi)始學(xué)SSH的時(shí)候,總是苦于搭建環(huán)境,因?yàn)椴惶炀殻鞘炀毩司秃昧?,主要是要“有?jié)奏的”去搭建,也就是說(shuō)搭建一個(gè)環(huán)境工程得一步步來(lái),一點(diǎn)點(diǎn)的搭,很多人上來(lái)就把jar包啪嘰一下全導(dǎo)進(jìn)去了,然后什么配置文件啊啪嘰一下全寫好或者從其他地方粘貼來(lái),然后一運(yùn)行,掛了……然后各種去找問(wèn)題,何苦呢?這樣的話就算搭建10次也不能得心應(yīng)手。飯要一口口的吃,路要一步一步的走。
SSH的環(huán)境搭建,我個(gè)人遵循的流程是:
Spring –> Hibernate –> Spring整合Hibernate –> Struts2 –> Spring整合Struts2
每一步做完寫個(gè)測(cè)試類測(cè)試一下,這很重要,因?yàn)橐徊讲酵伦叩脑挘鲥e(cuò)了也知道錯(cuò)在哪一步,去哪找問(wèn)題,最重要的是,這種流程熟練了,下次再搭環(huán)境的時(shí)候就易如反掌了。關(guān)于SSH環(huán)境搭建的詳細(xì)信息請(qǐng)看下面的文章:
整合Struts2、Hibernate4.3和Spring4.2
基本增刪查改、Service和Action的抽取以及使用注解替換xml
2. 搭建后臺(tái)管理系統(tǒng)
后臺(tái)管理系統(tǒng)我用的是EasyUI搭建的,說(shuō)真的,EasyUI我也是一知半解,前端的東西我了解的都不深,但是懂一點(diǎn),具體用的時(shí)候也是各種去查的,也沒(méi)系統(tǒng)的學(xué)過(guò),所以沒(méi)有一個(gè)良好的知識(shí)體系,但是也不影響去玩。程序猿都喜歡說(shuō)玩一個(gè)技術(shù)啥的,聽(tīng)起來(lái)好像挺高大上的,慢慢的我也受到一些影響,也喜歡這么說(shuō)了,不過(guò)我對(duì)于前端就真的在玩了……
jQuery EasyUI是一組基于jQuery的UI插件集合體,而jQuery EasyUI的目標(biāo)就是幫助web開(kāi)發(fā)者更輕松的打造出功能豐富并且美觀的UI界面。開(kāi)發(fā)者不需要編寫復(fù)雜的javascript,也不需要對(duì)css樣式有深入的了解,開(kāi)發(fā)者需要了解的只有一些簡(jiǎn)單的html標(biāo)簽?! ?
EasyUI的請(qǐng)求都是Ajax請(qǐng)求,不會(huì)有新的頁(yè)面出來(lái),全都都在tab選項(xiàng)卡中或者彈出一個(gè)窗口之類的。后臺(tái)管理系統(tǒng)主要分為三部分:商品的類別管理、商品的管理以及銷售管理。銷售管理放在最后再說(shuō)。
2.1 商品類別的管理
該部分主要涉及到了EasyUI環(huán)境和后臺(tái)框架的搭建、數(shù)據(jù)庫(kù)的級(jí)聯(lián)查詢和分頁(yè)、DataGrid數(shù)據(jù)顯示、Struts2整合json以及商品類別的添加、刪除、更新和搜索。這也是遵循了該部分的一個(gè)完成的順序?! ?
DataGrid以表格的形式展示數(shù)據(jù),開(kāi)發(fā)人員不需要具備特定的知識(shí)就可以操作它,它有個(gè)很好的幫助文檔,比較詳細(xì),在本項(xiàng)目中我也介紹了創(chuàng)建DataGrid的幾種方式,并且也簡(jiǎn)單介紹了一下DataGrid的部分屬性,算是入門吧,我也是入門,多多開(kāi)發(fā)才能掌握這個(gè)技術(shù)?! ?
類別的添加、刪除、更新和搜索功能,主要都是利用EasyUI自帶的驗(yàn)證功能,添加商品類別的時(shí),驗(yàn)證輸入框的輸入是否正確,是否必填等;刪除時(shí)是否先選中的某一行或某幾行;更新的時(shí)候每次只能更新一行等,所有這些都是Ajax請(qǐng)求?! ?
關(guān)于這部分內(nèi)容的詳細(xì)信息,我已經(jīng)歸類了,請(qǐng)參考這些文章:
使用EasyUI搭建后臺(tái)頁(yè)面框架
EasyUI菜單的實(shí)現(xiàn)
數(shù)據(jù)庫(kù)的級(jí)聯(lián)查詢和分頁(yè)
基于DataGrid的數(shù)據(jù)顯示功能
Struts2和Json的整合
DataGrid實(shí)現(xiàn)查詢和刪除功能
DataGrid實(shí)現(xiàn)添加和更新功能
下面是我自己遇到的問(wèn)題:
Struts2和Json整合中的懶加載異常問(wèn)題
Hibernate4執(zhí)行save()或update()無(wú)效
2.2 商品的管理
商品的管理也有添加刪除等操作,跟類別管理道理上是一樣的,有個(gè)地方就是商品的添加,需要上傳商品的照片,這里涉及到了Struts2實(shí)現(xiàn)文件上傳的功能,我們需要在服務(wù)器端建一個(gè)文件夾專門用來(lái)存儲(chǔ)上傳文件的,然后寫一個(gè)model來(lái)接收文件,關(guān)于文件上傳,要專門寫一個(gè)工具類,項(xiàng)目中開(kāi)發(fā)就是這樣的,共性的代碼一定要抽取,哪怕只有一句代碼也要抽?。∵@是習(xí)慣,也是必須要做的。具體細(xì)節(jié)參下面列出的這些的文章:
商品類基本模塊的搭建
查詢和刪除商品功能的實(shí)現(xiàn)
添加和更新商品功能的實(shí)現(xiàn)
Struts2實(shí)現(xiàn)文件上傳功能
3. 搭建前臺(tái)顯示頁(yè)面
當(dāng)然,前臺(tái)的頁(yè)面不是我設(shè)計(jì)的,這一塊內(nèi)容我總結(jié)的是跟前臺(tái)顯示相關(guān)的一些后臺(tái)技術(shù),比如:監(jiān)聽(tīng)器獲取首頁(yè)數(shù)據(jù)、定時(shí)器同步首頁(yè)數(shù)據(jù)、Hibernate二級(jí)緩存處理熱門商品的緩存等。
以前在學(xué)習(xí)serlvet的時(shí)候,首頁(yè)顯示數(shù)據(jù)我是這么干的,用一個(gè)frame,右邊顯示數(shù)據(jù),那么index.jsp中右邊的部分我跳轉(zhuǎn)到一個(gè)servlet,然后servlet中去數(shù)據(jù)庫(kù)中取出所有商品,放到request域中帶過(guò)去新的jsp頁(yè)面顯示。這雖然能實(shí)現(xiàn),但是很笨。在這里我用了監(jiān)聽(tīng)器來(lái)干這件事,首先自己定義一個(gè)監(jiān)聽(tīng)器,在項(xiàng)目啟動(dòng)的時(shí)候把數(shù)據(jù)庫(kù)中所有商品信息給取出來(lái),放到application域中,然后首頁(yè)中直接用EL表達(dá)式從application域中去取即可?! ?
還有個(gè)問(wèn)題,當(dāng)我在管理系統(tǒng)中添加一個(gè)新的商品時(shí),我必須要重啟一下tomcat才能將新的商品加到application域中,因?yàn)榈谝淮稳〕鰜?lái)后就一直在application域中了,就定死了,后面新添加的就不在application域里面,為了解決這個(gè)問(wèn)題,我使用了定時(shí)器來(lái)同步首頁(yè)數(shù)據(jù)。于是改寫了之前寫好的監(jiān)聽(tīng)器,在監(jiān)聽(tīng)器中設(shè)置一個(gè)定時(shí)器,獲取數(shù)據(jù)庫(kù)中商品的數(shù)據(jù)的代碼放到定時(shí)器任務(wù)中,第一次開(kāi)啟立馬執(zhí)行,然后每6個(gè)小時(shí)執(zhí)行一次(時(shí)間可以自己隨便設(shè)定),也就是說(shuō)每6個(gè)小時(shí)重新獲取一下數(shù)據(jù)庫(kù)中的商品,存到application域中。一般網(wǎng)站也是這么干的,像CSDN的個(gè)人博客主頁(yè)也是,每天更新一次排名,大概是晚上10點(diǎn)左右吧,具體時(shí)間我忘了。那個(gè)時(shí)候刷新就會(huì)看到數(shù)據(jù)的更新,這樣也減小了服務(wù)器的壓力。
該部分具體的技術(shù)細(xì)節(jié),參見(jiàn)下面這幾篇文章:
使用監(jiān)聽(tīng)器獲取顯示在首頁(yè)的數(shù)據(jù)
監(jiān)聽(tīng)器如何獲取Spring的配置文件
線程、定時(shí)器定時(shí)同步首頁(yè)數(shù)據(jù)
Hibernate二級(jí)緩存處理首頁(yè)的熱門顯示
4. 購(gòu)物車相關(guān)功能
購(gòu)物車的部分主要涉及到的技術(shù)有:后臺(tái)的處理購(gòu)物車和購(gòu)物項(xiàng)的邏輯、過(guò)濾器判斷登陸、訂單的級(jí)聯(lián)入庫(kù)以及頁(yè)面緩存的問(wèn)題。
購(gòu)物車的話主要是后臺(tái)的一些實(shí)現(xiàn)邏輯了,購(gòu)物車?yán)镄枰匈?gòu)物項(xiàng),啥意思呢?我們?cè)谔熵埳腺I東西都知道,可以把不同的商品都放到購(gòu)物車?yán)?,然后?gòu)物車?yán)镉泻芏嗌唐?,每個(gè)商品的數(shù)量又可以有多個(gè),每個(gè)商品及其相關(guān)信息就是一個(gè)購(gòu)物項(xiàng),所以添加購(gòu)物車的時(shí)候,我們首先要完成一個(gè)購(gòu)物項(xiàng),再將此購(gòu)物項(xiàng)添加到購(gòu)物車?yán)铩?
當(dāng)用戶想要結(jié)算的時(shí)候,我們得首先判斷用戶有沒(méi)有登陸,這用到了過(guò)濾器技術(shù),專門過(guò)濾某一類的url,在過(guò)濾器中判斷當(dāng)前session中有沒(méi)有user對(duì)象,如果有說(shuō)明登陸過(guò)了,直接放行就行,如果沒(méi)有則跳轉(zhuǎn)到登陸頁(yè)面讓用戶登陸,登陸完成后跳轉(zhuǎn)到用戶原來(lái)想去的頁(yè)面。也就相當(dāng)于門衛(wèi)一樣~看大門的~
剛剛也提到了,訂單信息包含 購(gòu)物車和購(gòu)物項(xiàng),那么我們?cè)谟唵稳霂?kù)的時(shí)候,就要考慮到它們的級(jí)聯(lián)問(wèn)題,我們可以通過(guò)在兩者的POJO中設(shè)置相應(yīng)的注解屬性即可,但是有個(gè)前提,像這種有外鍵關(guān)聯(lián)的,在入庫(kù)之前都要將對(duì)應(yīng)的POJO中的外鍵部分的字段賦好值,比如訂單要將訂單項(xiàng)加進(jìn)去,訂單項(xiàng)中的訂單屬性也得賦好值,然后才可以交給Hibernate,Hibernate根據(jù)配置好的注解(或者xml文件)將它們一起級(jí)聯(lián)入庫(kù)。
頁(yè)面緩存的問(wèn)題指的是,當(dāng)用戶確認(rèn)了訂單后,如果點(diǎn)后退,又會(huì)回到訂單確認(rèn)頁(yè)面,剛剛的訂單確認(rèn)頁(yè)面又出來(lái)了,而且session還在,信息還是剛剛的信息,這明顯不是我們想要的結(jié)果。我們需要在前臺(tái)和后臺(tái)同時(shí)進(jìn)行處理才行。
該部分具體技術(shù)細(xì)節(jié),請(qǐng)參見(jiàn)下面的幾篇文章:
購(gòu)物車基本功能的實(shí)現(xiàn)
過(guò)濾器實(shí)現(xiàn)登陸功能的判斷
訂單信息的級(jí)聯(lián)入庫(kù)和頁(yè)面緩存問(wèn)題
5. 在線支付功能
這一部分主要介紹了一些關(guān)于易寶支付接口的東西,其實(shí)在線支付功能針對(duì)不同的第三方都是不一樣的,主要是要理解在線支付功能開(kāi)發(fā)的一個(gè)流程,具體技術(shù)細(xì)節(jié)得依賴具體的第三方所提供的資料了。但是一般的流程都是:調(diào)用第三方的接口 –> 第三方調(diào)用銀行接口 –> 完成支付 –> 第三方回跳到我們指定的頁(yè)面。
這部分中,還涉及到了一個(gè)重要的技術(shù),就是struts2如何處理多個(gè)model請(qǐng)求。一般struts2實(shí)現(xiàn)了ModeDriven<model>后就可以在Action中使用該model,但是現(xiàn)在如果有兩個(gè)Model咋整呢?在struts2中還有另外一個(gè)叫parametersAware接口,只要實(shí)現(xiàn)了這個(gè)接口,并且定義一個(gè)存儲(chǔ)參數(shù)的Map,就可以接收request請(qǐng)求中的所有參數(shù),我們可以根據(jù)不同的參數(shù)來(lái)判斷使用哪個(gè)model,這種方法可以很好的解決struts2處理多個(gè)model請(qǐng)求問(wèn)題。
關(guān)于該部分的技術(shù)細(xì)節(jié),請(qǐng)參考下列博文:
在線支付平臺(tái)的介紹
易寶支付流程的一個(gè)demo
獲取銀行圖標(biāo)和支付頁(yè)面的顯示
完成在線支付功能的邏輯
struts2中如何處理多個(gè)model請(qǐng)求
6. 郵件和短信的發(fā)送功能
郵件的發(fā)送和短信的發(fā)送這一部分相對(duì)來(lái)說(shuō)比較簡(jiǎn)單,都是一些固定的API,會(huì)用就行,記不住查查即可,我也記不住。郵件發(fā)送功能要導(dǎo)入mail.jar包,然后根據(jù)流程發(fā)送郵件即可,短信功能首先得去申請(qǐng)一下短信發(fā)送功能,申請(qǐng)好了后,第三方就會(huì)給我們提供一些API接口,我們只要參考他的就可以開(kāi)發(fā)短信發(fā)送功能了,跟支付功能有點(diǎn)類似,都是借助于第三方平臺(tái)。
這部分也沒(méi)啥技術(shù)難點(diǎn),主要是流程吧,相關(guān)的文章如下:
使用java email給用戶發(fā)郵件
完成訂單支付成功后的短信發(fā)送功能
7. 域名空間的申請(qǐng)和項(xiàng)目的部署發(fā)布
這一塊主要介紹了如何申請(qǐng)一個(gè)免費(fèi)的域名空間(免費(fèi)15天而已啦~不過(guò)對(duì)于學(xué)習(xí)來(lái)說(shuō),enough~),雖然不是全部免費(fèi)的,但是我們主要是要搞清楚這個(gè)流程,自己走一遍也好,并不一定要上傳完整的工程,一個(gè)jsp頁(yè)面或者h(yuǎn)tml靜態(tài)頁(yè)面都行。
項(xiàng)目的部署和發(fā)布主要有兩種方式:一種是使用FTP上傳,不過(guò)這個(gè)比較慢,而且有可能會(huì)丟失數(shù)據(jù),個(gè)人的經(jīng)驗(yàn)是一點(diǎn)一點(diǎn)的發(fā);還有一種方式就是申請(qǐng)域名空間那里會(huì)提供一個(gè)部署的環(huán)境,我們只要將工程導(dǎo)出為war包,然后把war包部署上去即可。
在項(xiàng)目部署之前有很多細(xì)節(jié)需要注意,比如要修改一些路徑啊,要修改一些數(shù)據(jù)啊等等,這些細(xì)節(jié)在我的博客里都有詳細(xì)的說(shuō)明。該部分就一篇文章,如下:
域名空間的申請(qǐng)和項(xiàng)目的部署發(fā)布
8. 表單驗(yàn)證和報(bào)表的顯示
后面補(bǔ)充了一些東西,就是Ajax動(dòng)態(tài)更新購(gòu)物車中商品的數(shù)量、表單的驗(yàn)證和報(bào)表的顯示。
Ajax動(dòng)態(tài)更新購(gòu)物車中商品的數(shù)量就是純粹的Ajax技術(shù),我學(xué)習(xí)了一下而已,表單的驗(yàn)證主要是登陸表單,這個(gè)項(xiàng)目里我沒(méi)做登陸了,但是登陸表單我做了一個(gè),驗(yàn)證功能也做好了,主要用到的是jQuery的Validate驗(yàn)證插件,這個(gè)插件還是很強(qiáng)大的,可以直接將登陸表單加到項(xiàng)目中,設(shè)置一下相應(yīng)的跳轉(zhuǎn)即可?! ?bào)表的顯示主要用的是JsChart,這款工具很好用,可以生成響應(yīng)的js代碼,我們要做的就是前臺(tái)發(fā)送Ajax請(qǐng)求給后臺(tái),根據(jù)實(shí)際需求從后臺(tái)取出數(shù)據(jù),傳到前臺(tái)用JsChart圖表顯示出來(lái)即可。
該部分的博文,我列出來(lái)放在下面:
使用Ajax技術(shù)局部更新商品數(shù)量和總價(jià)
jQuery-Validate驗(yàn)證插件的使用步驟詳解
使用JsChart技術(shù)在后臺(tái)顯示商品銷售報(bào)表
網(wǎng)上商城這個(gè)項(xiàng)目目前就寫這么多了,CSDN下載頻道中的源碼和我的博客里是同步的,大家如果有需要可以下載我在CSDN里上傳的源碼(免費(fèi)的~我的所有資源均免費(fèi))。后期如果要繼續(xù)完善,我會(huì)放到我的github中,也歡迎大家Follow我的github(雖然一般般啦~)Star我上傳的工程~下面是具體的下載地址:
下載地址(與博客內(nèi)容同步)
GitHub下載地址(后期如果有更新會(huì)放在這)
原文地址:http://blog.csdn.net/eson_15/article/details/51479994#download
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Windows上SSH服務(wù)器配置圖文教程
- windows 7架設(shè)OpenSSH服務(wù)器實(shí)踐
- python通過(guò)ssh-powershell監(jiān)控windows的方法
- Windows系統(tǒng)下安裝Python的SSH模塊教程
- windows7下安裝php的php-ssh2擴(kuò)展教程
- ssh遠(yuǎn)程執(zhí)行命令方法和Shell腳本實(shí)例
- ssh自動(dòng)登錄的4種實(shí)現(xiàn)方法
- python paramiko實(shí)現(xiàn)ssh遠(yuǎn)程訪問(wèn)的方法
- Python實(shí)現(xiàn)建立SSH連接的方法
- 簡(jiǎn)單架設(shè)SSH+Squid代理服務(wù)器的自由上網(wǎng)通道的方法
- 關(guān)于ssh連不上問(wèn)題的解決方法(必看)
- 關(guān)于SSH 遠(yuǎn)程執(zhí)行命令你要知道的二三事
- SSH+Jquery+Ajax框架整合
- Ubuntu下查看ssh服務(wù)是否安裝或啟動(dòng)的方法
- ssh連接超時(shí)解決方法
- PowerShell小技巧之嘗試ssh登錄
- shell腳本實(shí)現(xiàn)ssh自動(dòng)登錄功能分享
- linux系統(tǒng)下的ssh登錄和配置方法
- Linux ssh遠(yuǎn)程連接斷開(kāi)問(wèn)題處理辦法解決
- python使用paramiko模塊實(shí)現(xiàn)ssh遠(yuǎn)程登陸上傳文件并執(zhí)行
- 無(wú)需密碼通過(guò)ssh執(zhí)行rsync來(lái)同步文件的方法
- ubuntu16.04下安裝openssh-server報(bào)依賴錯(cuò)誤的完美解決方法(非常不錯(cuò))
- windows安裝openssh并通過(guò)生成SSH密鑰登錄Linux服務(wù)器
相關(guān)文章
JavaWeb中HttpSession中表單的重復(fù)提交示例
這篇文章主要介紹了JavaWeb中HttpSession中表單的重復(fù)提交,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03Java 實(shí)戰(zhàn)范例之精美網(wǎng)上音樂(lè)平臺(tái)的實(shí)現(xiàn)
讀萬(wàn)卷書不如行萬(wàn)里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+vue+Springboot+ssm+mysql+maven+redis實(shí)現(xiàn)一個(gè)前后端分離的精美網(wǎng)上音樂(lè)平臺(tái),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-11-11Java使用html2image將html生成縮略圖圖片的實(shí)現(xiàn)示例
本文主要介紹了Java使用html2image將html生成縮略圖圖片的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12Springboot+TCP監(jiān)聽(tīng)服務(wù)器搭建過(guò)程圖解
這篇文章主要介紹了Springboot+TCP監(jiān)聽(tīng)服務(wù)器搭建過(guò)程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10了解spring中的CloudNetflix Hystrix彈性客戶端
這篇文章主要介紹了了解spring中的CloudNetflix Hystrix彈性客戶端,客戶端彈性模式是在遠(yuǎn)程服務(wù)發(fā)生錯(cuò)誤或表現(xiàn)不佳時(shí)保護(hù)遠(yuǎn)程資源(另一個(gè)微服務(wù)調(diào)用或者數(shù)據(jù)庫(kù)查詢)免于崩潰。,需要的朋友可以參考下2019-06-06深入學(xué)習(xí)springboot線程池的使用和擴(kuò)展
這篇文章主要介紹了深入學(xué)習(xí)springboot線程池的使用和擴(kuò)展,springboot框架提供了@Async注解,幫助我們更方便的將業(yè)務(wù)邏輯提交到線程池中異步執(zhí)行,需要的朋友可以參考下2019-06-06MyBatis Plus整合Redis實(shí)現(xiàn)分布式二級(jí)緩存的問(wèn)題
Mybatis內(nèi)置的二級(jí)緩存在分布式環(huán)境下存在分布式問(wèn)題,無(wú)法使用,但是我們可以整合Redis來(lái)實(shí)現(xiàn)分布式的二級(jí)緩存,這篇文章給大家介紹MyBatis Plus整合Redis實(shí)現(xiàn)分布式二級(jí)緩存,感興趣的朋友跟隨小編一起看看吧2023-11-11