springboot服務(wù)搭建

[github項(xiàng)目地址](https://github.com/actor-t/springboot-mapper-redis)?

# 前言

簡介:springboot-mapper-redis是一個(gè)基于Spring Boot & MyBatis & redis的maven種子系統(tǒng),用于快速構(gòu)建中小型API、RESTful API項(xiàng)目。?

主要版本:springboot采用2.x版本、mybatis3.4X版本、通用mapper使用4.X版本

# 文檔說明

1、集成MyBatis、通用Mapper插件、PageHelper分頁插件,實(shí)現(xiàn)單表業(yè)務(wù)零SQL,可以說學(xué)會使用這套架構(gòu)將節(jié)約你百分之五十的開發(fā)時(shí)間!?

2、集成Druid數(shù)據(jù)庫連接池與監(jiān)控,默認(rèn)用戶名admin、密碼123456,用于監(jiān)控業(yè)務(wù)系統(tǒng)的sql使用情況等?

3、使用FastJsonHttpMessageConverter,提高JSON序列化速度,用于redis對象的轉(zhuǎn)換等?

4、提供基礎(chǔ)方法基礎(chǔ)服務(wù)的封裝,對于單表的增刪查改,包括多條件查詢,分頁查詢都已經(jīng)封裝好,根據(jù)代碼生成器生成對應(yīng)的Model、Mapper、?

? MapperXML、Service、ServiceImpl、Controller等基礎(chǔ)代碼,另外,使用模板也有助于保持團(tuán)隊(duì)代碼風(fēng)格的統(tǒng)一?

5、統(tǒng)一響應(yīng)結(jié)果封裝及生成工具、統(tǒng)一異常處理、簡單的接口簽名認(rèn)證?

6、使用redis作為系統(tǒng)的緩存架構(gòu)?

7、攔截器、過濾器、監(jiān)聽器等實(shí)現(xiàn)跨域、簽名、token認(rèn)證等?

8、websocket的使用事例?

9、定時(shí)器scheduling的使用?

10、系統(tǒng)日志的記錄,可根據(jù)日志級別,打印sql日志,用于快速線上定位問題?

11、引入HuTool作為通用工具包?

12、阿里云短信工具?

# 碼上開始

1、clone項(xiàng)目?

2、修改coreconstant里的常量?

3、修改日志目錄pom文件?

4、修改你的項(xiàng)目名和常量名一樣?

5、盡情享用.......?

# 參考技術(shù)文檔

[通用Mapper文檔](https://mapperhelper.github.io/docs/7.use330/)?

[MyBatis查看官方中文文檔 ](http://www.mybatis.org/mybatis-3/zh/index.html)?

[MyBatis 分頁插件 PageHelper](https://pagehelper.github.io/)?

[Druid Spring Boot Starter](https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter/)?

[Fastjson](https://github.com/Alibaba/fastjson/wiki/%E9%A6%96%E9%A1%B5)?

[前端參數(shù)簽名怎么生成,建議使用 JWT](http://www.itdecent.cn/p/576dbf44b2ae)?

[Hutool](http://hutool.mydoc.io/)?

[通用mapper更新地址]( https://github.com/abel533/Mapper/wiki/changelog)?

# 開發(fā)建議

1、表名,建議使用小寫,多個(gè)單詞使用下劃線拼接?

2、Model內(nèi)成員變量建議與表字段數(shù)量對應(yīng),如需擴(kuò)展成員變量(比如連表查詢)建議創(chuàng)建DTO,否則需在擴(kuò)展的成員變量上加@Transient注解,詳情見通用Mapper插件文檔說明?

3、建議業(yè)務(wù)失敗直接使用ServiceException("message")拋出,由統(tǒng)一異常處理器來封裝業(yè)務(wù)失敗的響應(yīng)結(jié)果,比如throw new ServiceException("該手機(jī)號已被注冊"),會直接被封裝為{"code":400,"message":"該手機(jī)號已被注冊"}返回,無需自己處理,盡情拋出?

3、需要工具類的話建議先從apache-commons-*、hutool和guava中找,實(shí)在沒有再造輪子或引入類庫,盡量精簡項(xiàng)目?

4、開發(fā)規(guī)范建議遵循阿里巴巴Java開發(fā)手冊(最新版下載)?

5、建議使用的eclipse里的api插件工具,生成統(tǒng)一風(fēng)格文檔,保證代碼的規(guī)范性?

# 特別感謝

框架是站在“巨人”的肩膀上誕生的,特別感謝通用mapper的原作者(@土豆lihengming),框架最初很多借鑒了他的種子框架,

尤其是代碼生成部分,這部風(fēng)自己只在其基礎(chǔ)上做了些許修改,而其開源的通用mapper更是大大節(jié)約了我這種低端碼農(nóng)的開發(fā)工作量,

有更多的時(shí)間約妹打球啦哈哈哈哈。?

經(jīng)過一年多的項(xiàng)目實(shí)踐,更新迭代了mapper版本,豐富了工具類和通用服務(wù)方法、引入了socket和阿里云短信、itexpdf工具、加入了redis緩存框架等;

#溫馨提示

歡迎廣大碼農(nóng)clone使用、水平有限,框架中如有不足還望輕噴,同時(shí)也歡迎大家積極貢獻(xiàn),打造一個(gè)更加完美的開源微服務(wù)框架!?

[項(xiàng)目地址](https://github.com/actor-t/springboot-mapper-redis)?

如有疑慮歡迎咨詢qq:2411559022?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容