前言
一件事情在開頭總是想的很美好,然而事實總會跟你對着幹。在網站搭建的過程中遇到了無數多的前端頁面設計bug,我在此之前也可以算的上是個前端小小白,很是無奈,不過還是要在這裡感謝其他工作室裡幫我解決了許多bug的波波、田小宇和楊小卿,沒有你們估計我的網站還得推遲半年才能上線吧,O(∩_∩)O哈哈~
不過現在網站還隻是個雛形 ,還有繼續開發中。。。。
文章概述
關于項目,對于學習Springboot是個挺不錯的練手項目,可以讓你在煩惱的業務邏輯中保持一顆純潔的心
如何從零開始,使用Springboot開發項目
開發前的一些準備工作,以及思考項目整體結構與思路
記錄開發過程中遇到的一些難題以及bug
總結目前工作室網站的一些優缺點
思考整個項目有哪些可以優化的地方,以及有哪些可增加的功能
項目需求
項目背景
對于Springboot的朋友來說,最好的一個學習方式就是那一個功能俱全的項目來練練手,通過自己重構項目來發現其中的潛在難題,并且也能很好的在編碼過程中總結和發現問題、解決問題。使用Springboot開發的網站,簡單并且實用,适合做練手項目。
功能需求
首頁效果圖
漂流瓶功能
背景效果
安裝部署需求
使用springboot自帶方式打包
非功能需求
性能需求
首頁響應時間不超過2秒鐘
前端頁響應時間不超過3秒鐘
項目設計
總體設計
本項目用到的技術和架構
1.項目建構:Maven
2.web架構:Springboot
3.資料庫ORM:Mybatis
4.資料庫連接配接池: HikariCP
5.分頁插件:PageHelper
6.資料庫:MySql
7.緩存:Redis
本項目中的關鍵點
1.采用Springboot開發,資料庫使用連接配接池加orm架構的模式;
2.整體系統采用門戶網站+背景管理方式搭建,門戶網站資訊内容以及消息交流和漂流瓶,背景管理用于價格定制、網站内容編輯,檢視回報,管理評論留言消息等。
3.使用阿裡雲OSS進行靜态資源存儲,以及CDN全站加速。
環境
工具 名稱
開發工具 IDEA
語言 JDK1.8 、html、css、js
項目架構 SSM
ORM Mybatis
緩存 Redis
項目建構 Maven
運作環境 阿裡雲Centos7
對于熟悉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)