欧美午夜精品久久久久免费视/欧美黄色精品/国产一级A片在线播出/A片免费视频在线观看

打造企業(yè)微信點餐系統(tǒng)(5-1~4小節(jié))
2022-11-24 20:02:03 歡樂點

第一模塊:

課程名稱: Boot打造企業(yè)微信點餐系統(tǒng)

章節(jié)名稱:5-1 ~ 5-4

講師姓名:廖師兄

第二模塊:

內(nèi)容概述:

5-1 ~ 5-4小節(jié)主要講解了商品的DAO、以及對應(yīng)的API

第三模塊:

學(xué)習(xí)心得:

13 數(shù)據(jù)庫事務(wù)篇1:事務(wù)管理器和事務(wù)約定

事務(wù):要么不做,要么就做完;作用:保證數(shù)據(jù)在一個業(yè)務(wù)流程中的一致性這里存在一個矛盾:提高數(shù)據(jù)庫一致性往往也會造成并發(fā)能力的下降,從而影響到網(wǎng)站的性能,尤其對于那些擁有大量用戶的網(wǎng)站在搶購商品的時候,往往還需要考慮系統(tǒng)的性能,以提高用戶體驗。

編程中事務(wù)有兩種實現(xiàn)方式:編程式事務(wù)、聲明式事務(wù);

編程式事務(wù)就是程序員自己通過編碼來實現(xiàn)事務(wù)這個功能,而聲明式事務(wù)就是引用別人寫好的事務(wù)邏輯,我們通過“一定”的方式拿來用,一樣可以實現(xiàn)事務(wù)這個功能;

現(xiàn)在的主流開發(fā)都是使用聲明式事務(wù),來實現(xiàn)“數(shù)據(jù)庫一致”。

中聲明式事務(wù)的核心是:事務(wù)管理器和注解@點餐系統(tǒng),通過這個注解就可以配置事務(wù),這個注解可以使用在類或者方法上。

聲明式事務(wù)的原理:首先需要配置事務(wù)管理器,這個 Boot會幫助我們完成,我們不用管, Boot會自動裝配“通用的增強模塊”來減少我們的開發(fā)任務(wù),讓我們專注于個性化的業(yè)務(wù)邏輯!!!

中存在多種事務(wù)管理器,不過它們都需要實現(xiàn)接口,但是這只是一個接口非實現(xiàn)類,這里因為依賴了的包,這樣 Boot就會裝配;

接口的源碼:

解析:

數(shù)據(jù)庫流程約定:

所以,事務(wù)攔截器的作用是:將事務(wù)管理器接口定義的三個方法織入到事務(wù)攔截器的流程中去(實現(xiàn)技術(shù)是:動態(tài)代理)

解析:

獲取事務(wù)()這步就可以設(shè)置一些我們配置的屬性,比如隔離級別、異常類型;然后就可以執(zhí)行業(yè)務(wù)方法了,而這些業(yè)務(wù)方法就是我們所編寫的個性業(yè)務(wù)邏輯代碼;執(zhí)行業(yè)務(wù)方法的過程可能正常,也可能發(fā)生異常,如果發(fā)生異常且滿足事務(wù)配置,則會走到回滾事務(wù)()這步;如果一切正常或者異常是事務(wù)配置允許的,則會提交事務(wù)()。由于獲取事務(wù)、回滾和提交這三步是事務(wù)攔截器把事務(wù)管理器的方法織入到“事務(wù)處理流程”,所以并不需要我們編寫任何代碼,而我們僅僅需要通過@告知哪個類或者方法需要事務(wù)即可。@可以標注在類或者方法上,如果是類,則對所有且非靜態(tài)的方法有效;如果是方法,則只對方法有效。

補充:

動態(tài)代理:想要給實現(xiàn)了某個接口的類中的方法,加一些額外的處理邏輯,比如說加日志,加事務(wù)等;此時就可以給這個類創(chuàng)建一個代理,故名思議就是創(chuàng)建一個新的類點餐系統(tǒng),這個類不僅包含被代理類的所有方法的功能,而且還在原來的基礎(chǔ)上添加了額外的處理邏輯,另外,這個代理類并不是事先定義好的,而是動態(tài)生成的,如此就具有解耦的意義,靈活,擴展性強的特點;動態(tài)代理的代理類不是在Java代碼中定義的,而是在運行時根據(jù)我們在Java代碼中的“指示”動態(tài)生成的。

靜態(tài)代理:代理類在程序運行前就已經(jīng)存在,那么這種代理方式被成為靜態(tài)代理

所以,基于反射實現(xiàn)的IOC和基于動態(tài)代理實現(xiàn)的AOP,他們的區(qū)別其實一句話就能總結(jié)出來:IOC中存在的是bean,而bean就是一個類的總代理,注意這個代理僅僅只是代理,沒有對bean做什么邏輯增量,來增強這個bean;但是AOP的動態(tài)代理一般會對代理類做邏輯增量,來增強代理類能的功,這些功能一般都是些通用功能,比如:日志,事務(wù),權(quán)限等通用的功能。

注解@源碼:

解析:

value和都是指定一個Bean Name(bean與其所代理的類在邏輯功能上完全一致,IOC做的只是接管一個類,并沒有給這個類做邏輯增強 ),來確定你使用的是哪個事務(wù)管理器,默認值是“”。對于超時時間()和只讀事務(wù)()相信也比較好理解。剩下的是指定在發(fā)生哪種異常下回滾事務(wù);指定回滾事務(wù)的異常名稱;是指定在哪種異常下不回滾事務(wù);me指定的是不回滾事務(wù)的異常名稱。

注意:

數(shù)據(jù)庫事務(wù)流程是通過 AOP實現(xiàn)的,而 AOP則是通過動態(tài)代理技術(shù)實現(xiàn)的,在某些情況下@會失效!!!

第四模塊:

學(xué)習(xí)截圖:

免責(zé)聲明:部分文章信息來源于網(wǎng)絡(luò)以及網(wǎng)友投稿,本站只負責(zé)對文章進行整理、排版、編輯,出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其內(nèi)容的真實性,如本站文章和轉(zhuǎn)稿涉及版權(quán)等問題,請作者在及時聯(lián)系本站,我們會盡快為您處理。

歡樂點

留言咨詢

×