????springboot是一個(gè)后端開(kāi)發(fā)框架摆马。眾所周知矩动,后端在整個(gè)項(xiàng)目中的作用是接受前端的參數(shù)撑刺,并從數(shù)據(jù)庫(kù)中做指定的處理后返回前端需要的參數(shù)傳給前端屋彪。springboot對(duì)上述的過(guò)程做了下面的分層所宰,使得數(shù)據(jù)傳輸滿足工業(yè)開(kāi)發(fā)的需求。本文將介紹一個(gè)實(shí)現(xiàn)充值卡業(yè)務(wù)的功能模塊畜挥,通過(guò)這個(gè)載體來(lái)敘述每個(gè)層在其中的作用仔粥。
1、web層(controller)
????這一層負(fù)責(zé)讀取前端傳來(lái)的參數(shù)蟹但,并且實(shí)現(xiàn)相應(yīng)功能的接口件炉,向前端返回他們需要的參數(shù)。在本文中的充值卡業(yè)務(wù)中矮湘,前端傳來(lái)充值卡兌換碼以及用戶id和店鋪id斟冕,后端返回充值卡價(jià)值以及充值狀態(tài)(若不存在對(duì)應(yīng)充值卡,則返回0缅阳,否則返回1)
????下面是代碼示例:
????在這段代碼中磕蛇,CardController的屬性實(shí)例化了一個(gè)cardService類(位于Service)層,并利用這個(gè)對(duì)象的方法實(shí)現(xiàn)了充值卡接口的三大功能十办,即獲取相應(yīng)充值卡信息秀撇、得到充值狀態(tài)以及更新用戶賬戶余額。最后返回了一個(gè)字符串向族,顯示充值卡金額和充值狀態(tài)呵燕。
2、service層
????這一層用來(lái)寫具體的業(yè)務(wù)代碼件相,接受web層Controller類的調(diào)用再扭。同時(shí)氧苍,為了實(shí)現(xiàn)具體業(yè)務(wù),會(huì)調(diào)用來(lái)自dao層關(guān)于數(shù)據(jù)庫(kù)內(nèi)容操作泛范。
????在這段代碼中让虐,CardService類實(shí)例化了兩個(gè)dao層的類,并調(diào)用了dao層對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的方法罢荡,用來(lái)實(shí)現(xiàn)返回對(duì)應(yīng)充值卡金額數(shù)值的方法赡突。
3、dao層
????這一層用來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行具體操作区赵,包括增刪改查等等惭缰。在這一層中要定義Mapper接口方法,再寫一個(gè)對(duì)應(yīng)的xml文件笼才,里面是對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的sql語(yǔ)句漱受。
????第一張圖片中的代碼定義了CardMapper接口并定義了SelcardByCode方法,第二張圖片寫了SelcardByCode的具體sql語(yǔ)句患整,查詢數(shù)據(jù)庫(kù)card中符合條件的充值卡的信息拜效。
????另外喷众,CardMapper接口中的Card類是一個(gè)自定義的實(shí)體類各谚,它與數(shù)據(jù)庫(kù)中card表的結(jié)構(gòu)相對(duì)應(yīng)。因?yàn)镾elcardByCode需要返回充值卡的對(duì)應(yīng)信息到千,即數(shù)據(jù)庫(kù)中的一行昌渤,所以Card類需要建立與數(shù)據(jù)庫(kù)card表中字段對(duì)應(yīng)的屬性,如下圖:
????以上就是springboot框架中實(shí)現(xiàn)業(yè)務(wù)的整個(gè)后端架構(gòu)膀息。關(guān)于其他配置文件的編寫方式,我將在其他文章中嘗試闡述清楚了赵。