一直想構(gòu)建一個單體服務(wù)架子,用來自己開發(fā)使用。框架底層已經(jīng)固定,就是基于如今的主流開發(fā)框架SpringBoot,再把一個后端服務(wù)所需要的基礎(chǔ)功能比如token校驗、接口文檔、日志等集成進(jìn)來。
這樣在面對開發(fā)一個新業(yè)務(wù)單體服務(wù)時,可以快速開發(fā)使用,只需要改變服務(wù)名稱、端口即可開箱使用。然后只需要設(shè)計業(yè)務(wù)的相關(guān)數(shù)據(jù)庫表,填充相關(guān)的業(yè)務(wù)代碼即可部署。
這便是xch-sboot的誕生邏輯。
xch-sboot開源地址
如果對你有用,star是對我大的肯定。
sboot支持用戶名和郵箱登錄,如果想擴(kuò)展手機(jī)號,只需要自己在signin接口設(shè)計開發(fā)即可。
后續(xù)版本會把手機(jī)號+驗證碼登錄實現(xiàn)。
token存儲在Redis中,登錄校驗成功后會把生產(chǎn)的token作為Redis緩存的key,value里面存儲用戶相關(guān)信息。
token的校驗和延期的代碼邏輯都在Logininterceptor這個類里面。
2.2 集成JPA為什么選擇JPA?
我認(rèn)為JPA的功能已經(jīng)足以適用。
我使用JPA盡量會單表查詢,如果需要關(guān)聯(lián)查詢,我會把關(guān)聯(lián)用java代碼實現(xiàn)。
如果非要使用關(guān)聯(lián)語句,JPA也支持SQL語句查詢。
logback.xml里面的配置盡量簡單,我特意加了注釋,以便初學(xué)者使用。
在使用時,LOG_HOME屬性根據(jù)自己的需要,可以修改日志文件存儲的路徑,以及APP_NAME屬性也需要使用者改為自己的項目名。
后續(xù)版本會添加詳細(xì)的日志打印級別。
2.4 異常/返回結(jié)果業(yè)務(wù)異常都可以使用BusinessException拋出,會把拋出的信息作為響應(yīng)給到前端。
返回給前端的結(jié)果封裝了Result和PageResult,以供使用。
三、如何使用?sboot的架構(gòu)足夠簡單,所以像平時一樣,把源碼clone下來,然后導(dǎo)入到開發(fā)工具中。
下面列出需要修改的配置內(nèi)容:
上面便是使用中需要修改的地方,當(dāng)然如果你的心夠大,只需要修改項目名和MySql/Redis的配置即可開箱即用。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧