前言
爲什麼想要搭建這個工作室?
我還記得,在大學的時候,我們往常一樣的在學習過着大學生活,同往常一樣的解決這某個bug,不停地問度娘,很巧的碰到了一個同行在他的博客中完美的記錄了搭建網站的過程,隨後我又看了看他寫的其他博客文章,覺得都非常的不錯,並且同時也被他博客網站的簡約清新吸引,也就在那刻,心中埋下了準備自己網站種子…
於是在那之後的時候我就開始了Bootstrap了的學習,然後好像也並沒有什麼卵用,因爲還是不會用~~~
就這樣一直拖了大概有3個月,某天我才意識到我好像有件很重要的事沒完成,就是這麼的突然,毫無準備的就開始了網站的搭建。
自己在本子上設計了網站的所有頁面的大致樣式(也借鑑了許多大佬的網站樣式,哈哈,我承認我審美不是很好),列出了應該有的功能,當時看來並不算多,也給自己定了一個目標期限,在7月5日之前上線,不錯有了目標也就有了動力,就這麼開始幹了。
一件事情在開頭總是想的很美好,然而事實總會跟你對着幹。在網站搭建的過程中遇到了無數多的前端頁面設計bug,我在此之前也可以算的上是個前端小小白,很是無奈,不過還是要在這裏感謝其他工作室裏幫我解決了許多bug的波波、田小宇和楊小卿,沒有你們估計我的網站還得推遲半年才能上線吧,O(∩_∩)O哈哈~
不過現在網站還只是個雛形 ,還有繼續開發中。。。。
文章概述
- 關於項目,對於學習Springboot是個挺不錯的練手項目,可以讓你在煩惱的業務邏輯中保持一顆純潔的心
- 如何從零開始,使用Springboot開發項目
- 開發前的一些準備工作,以及思考項目整體結構與思路
- 記錄開發過程中遇到的一些難題以及bug
- 總結目前工作室網站的一些優缺點
- 思考整個項目有哪些可以優化的地方,以及有哪些可增加的功能
項目需求
項目背景
對於Springboot的朋友來說,最好的一個學習方式就是那一個功能俱全的項目來練練手,通過自己重構項目來發現其中的潛在難題,並且也能很好的在編碼過程中總結和發現問題、解決問題。使用Springboot開發的網站,簡單並且實用,適合做練手項目。
功能需求
首頁輪播圖以及頁面主體風格
服務內容
技術領域
頂尖團隊
軟件開發服務精選
價格定製
聯繫我們
安裝部署需求
- 可以使用docker方式部署,也可支持-jar方式
- 使用springboot自帶方式打包
非功能需求
性能需求
- 首頁響應時間不超過2秒鐘
- 文章頁響應時間不超過3秒鐘
項目設計
總體設計
本項目用到的技術和框架
1.項目構建:Maven
2.web框架:Springboot
3.數據庫ORM:Mybatis
4.數據庫連接池: HikariCP
5.分頁插件:PageHelper
6.數據庫:MySql
7.緩存:Redis
本項目中的關鍵點
1.採用Springboot開發,數據庫使用連接池加orm框架的模式,對於系統的關鍵業務使用Redis緩存,加快相應速度。
2.整體系統採用門戶網站+後臺管理方式搭建,門戶網站信息內容以及工作室介紹,後臺管理用於價格定製、網站內容編輯,查看反饋,管理評論留言。
3.使用阿里雲OSS進行靜態資源存儲,以及CDN全站加速。
環境
工具 | 名稱 |
---|---|
開發工具 | IDEA |
語言 | JDK1.8 、html、css、js |
項目架構 | SSM |
ORM | Mybatis |
緩存 | Redis |
項目構建 | Maven |
運行環境 | 阿里雲Centos7 |
請求轉發 | nginx |
對於熟悉Spring開發的朋友來說,相信對此結構也不會陌生。平時的開發過程中,結構設計是重要的環節,特別是協作開發的時候,明細的分包,模塊化,可減少代碼提交時的衝突。並且明確的結構有助於我們快速的尋找所對應的類。
打包、部署和運行
本項目採用Springboot的maven插件進行打包,打包結果:.jar
部署方式:使用 nohup java -jar ******.jar >**.log 2>&1 &的方式,後臺啓動項目,並在該路徑下生成運行日誌。
大部分人喜歡打爲war包,利用tomcat啓動。兩種方式都可以。
總結
開發中遇到的難點
- 要實現在一個頁面進行權限驗證,如果驗證不成功會跳轉到登錄界面,並且登錄成功後還要返回到之前界面,這裏由於對SpringSecurity內部原理的不瞭解,所以我這裏採用的方法是利用請求頭和響應頭存儲url,並在登錄成功後的頁面出跳轉到響應頭中存儲的url處
上
- 傳頭像處使用上傳頭像至阿里雲的OSS對象存儲中,由於上傳問題並沒有返回上傳成功後的圖片url地址,於是只好設置OSS的Bucket爲公共讀權限,然後當上傳成功後手動拼接圖片url並存入數據庫
- 項目中最大的難點還是莫過於頁面css的設計,但是使用了妹子UI後極大的解決了這個問題,只需修改少量css就能實現自己所需要的樣式
項目整體優化
- 目前項目首頁以及文章頁響應時間過長,後期最好優化到1s響應時間
- 定時定期進行數據庫的備份,防止出現網站被攻擊後數據丟失的風險
- 手機端瀏覽文章頁面會出現代碼自動換行問題,不便於瀏覽過程
以上就是我在博客網站搭建過程後的所有總結記錄,可能會有遺缺部分,等以後想起來了再來修改吧。
其他福利
微信掃下方二維碼關注公衆號,經常分享一些技術上的理解文章。歡迎騷擾,還可以回覆想要的管理系統或者畢業設計,分享各種系統源碼(僅限Java語言哦,如需定製系統加qq:226186862)
本人秉持開源原則,待後期網站功能完善之後會同步源碼至Github、碼雲中。需要搭建網站的朋友歡迎使用使用,只要給我個star就好啦,哈哈。如果搭建過程中有各種問題歡迎來騷。