有哪些做買家秀的網(wǎng)站企業(yè)營銷平臺(tái)
文章目錄
- 一 從0創(chuàng)建Srpingboot項(xiàng)目
- 1.1 啟動(dòng)springboot項(xiàng)目
- 1.2 導(dǎo)入必要的依賴
- 二、還缺什么
- 2.1 統(tǒng)一異常捕獲
- 2.2 統(tǒng)一MVC返回
- 2.3 數(shù)據(jù)分層
- 2.4 連接數(shù)據(jù)庫模塊
- 2.5 放置常量和工具類
- 2.6 基礎(chǔ)controller、基礎(chǔ)entity、query查詢類
- 2.7 為了方便處理異常,一般還可以入?yún)⒋蛴?、出參打?/li>
- 2.8 集成swagger方便接口查看調(diào)用
- 三、完整項(xiàng)目還缺什么
- 3.1 鑒權(quán)模塊
- 3.2 數(shù)據(jù)緩存模塊
- 3.3 圖片處理模塊
- 3.3 定時(shí)模塊
- 3.4 代碼生成模塊
- 四、后記
本人從事java web項(xiàng)目開發(fā)多年,跟大家分享一下一些心得,原創(chuàng)不易,希望對(duì)大家有所幫助
一 從0創(chuàng)建Srpingboot項(xiàng)目
我們從0開始創(chuàng)建Springboot,一般都需要選擇Springboot的版本,因?yàn)镾pringboot的版本一年好幾個(gè)更新,我們通常在 https://start.spring.io 上,選擇我們要的版本,以及開啟啟動(dòng)的start依賴,即可把一個(gè)springboot項(xiàng)目搭建起來
1.1 啟動(dòng)springboot項(xiàng)目
在 https://start.spring.io 選擇需要的依賴,確定之后就是一個(gè)最基礎(chǔ)的springboot項(xiàng)目了。
我們用IDEA打開項(xiàng)目,啟動(dòng)之后,就可以使用了。
現(xiàn)在springboot版本已經(jīng)更新到3.x以上了,舊的springboot版本已經(jīng)在這個(gè)里面找不到了
雖然官方推薦用最新的版本,但是對(duì)于springcloud的適配非常不友好,尤其是jdk必須更新到17,也是讓新手接觸springboot感覺比較困惑的地方
我個(gè)人建議,剛剛開始,還是用官方推薦用的最新版本。到工作后,最好用公司統(tǒng)一的版本,一般公司如果非特殊,是不會(huì)隨便更新公司的版本的
1.2 導(dǎo)入必要的依賴
Springboot如果想要單體使用,一般只需要導(dǎo)入mvc模塊就行了
如果使用Springcloud之后,還可以選擇需要導(dǎo)入特定Springcloud依賴
二、還缺什么
很久之前,在使用springboot的時(shí)候,一直強(qiáng)調(diào),約定大于配置,也就是說,有些約定俗成的東西,就盡量不要去違背,違背了雖然也沒有關(guān)系,但是會(huì)導(dǎo)致大部分情況下,這些代碼只有你自己能進(jìn)行維護(hù),其他人閱讀起來很是困難。
以下我列舉了一些大部分項(xiàng)目需要統(tǒng)一的跟大家分享,希望閱讀的人可以從中得到啟發(fā),增進(jìn)項(xiàng)目的高效使用。
2.1 統(tǒng)一異常捕獲
使用springboot統(tǒng)一異常捕獲
2.2 統(tǒng)一MVC返回
封裝JsonResult
2.3 數(shù)據(jù)分層
controller - service - mapper
如果是mybatis-plus還可以考慮使用 face 層
2.4 連接數(shù)據(jù)庫模塊
一般選擇 mybatis-plus
2.5 放置常量和工具類
創(chuàng)建文件夾
constant
util
2.6 基礎(chǔ)controller、基礎(chǔ)entity、query查詢類
為了復(fù)用性更強(qiáng)
2.7 為了方便處理異常,一般還可以入?yún)⒋蛴 ⒊鰠⒋蛴?/h3>
使用切面的方式處理
2.8 集成swagger方便接口查看調(diào)用
方便接口的查看,以及跟前端進(jìn)行信息交互
三、完整項(xiàng)目還缺什么
3.1 鑒權(quán)模塊
shiro
security
3.2 數(shù)據(jù)緩存模塊
引用中間件redis
3.3 圖片處理模塊
引用中間件
存本地路徑
存數(shù)據(jù)庫
存nginx
存minio
存mongodb
3.3 定時(shí)模塊
springboot內(nèi)置的cron
quart
3.4 代碼生成模塊
為了方便使用,一般都會(huì)集成一個(gè)代碼生成模塊
freemarker
四、后記
一個(gè)相對(duì)完整的項(xiàng)目,是需要考慮很多東西的,雖然每個(gè)項(xiàng)目各有各的不同,但是大部分都是有共通的地方,也就說大家所說的,大同小異。
從0開始搭建springboot項(xiàng)目,對(duì)于大部分人還是有一點(diǎn)點(diǎn)難度的,對(duì)于了解其中原理,或查看其他人項(xiàng)目,又或者解決bug,都是大有裨益的。
如果覺得太麻煩,又想快速搭建一個(gè)后端項(xiàng)目,可以直接在github/gitee 參考開源項(xiàng)目來使用,例如以下項(xiàng)目:
1 Guns
2 pig
3 RuoYi
4 Jeecg-boot
5 iBase4j
但是大部分情況下,如果直接使用開源項(xiàng)目,會(huì)發(fā)現(xiàn)很多東西就會(huì)很臃腫,還是有一些要注意的地方,注意得好,才開源更好的駕馭這個(gè)框架。
所以建議使用開源項(xiàng)目的時(shí)候,一定要去對(duì)應(yīng)的官網(wǎng)仔細(xì)進(jìn)行閱讀,在里面進(jìn)行答疑解惑,才是用好腳手架的必經(jīng)之路。