隨著框架使用的不斷的更新,后面使用SpringBoot會多,這邊準備構建一個SpringBoot專案使用的模版, 所謂模版,和之前一樣,就是一個最簡單的專案,包含所有最簡單的空實作,
下面會有詳細的步驟給大家介紹,并在最后有驚喜相待哦!
模版目的
- 1、不熟悉SpringBoot專案的人,在學習了SpringBoot的基礎部分之后,能根據這個模版快速上手
- 2、開發團隊的專案結構和使用裝備的統一,包括目錄結構,使用的一些組件上面的統一
- 3、不想重復造輪子,每次新建一個專案很麻煩
目錄說明
src/main/java/
存放java代碼,其中SpringBootTemplateApplication為SpringBoot啟動類
src/main/resources/
application.yml 全域組態檔
application-data.yml 資料源相關組態檔
application-mvc.yml 頁面mvc相關組態檔
application-config.yml 需要引入的一些全域配置
application-dev.yml 開發環境配置
application-prod.yml 生產環境配置
src/main/resources/static
存放各種靜態資源檔案,如css,js,image等
src/main/resources/templates
存放使用的頁面檔案,各種html等
src/main/resources/mapper
存放mybatis的sql陳述句xml檔案
資料結構
表結構定義寫法如下
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for user_tab
-- ----------------------------
DROP TABLE IF EXISTS `user_tab`;
CREATE TABLE `user_tab` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`val` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
SET FOREIGN_KEY_CHECKS = 1;
注意事項
- 專案啟動前本機需要啟動redis,否則會出現ERRROR
- 測驗地址為http://127.0.0.1:8080/test,測驗方法全部在UserController中
RedisUtil
新Redis操作工具類,暴露如下操作方法
CacheConfig簡單快取
1、啟動類上需要加@EnableCaching注解
2、在需要執行快取的類上面寫上快取前綴名稱
@CacheConfig(cacheNames="user")
3、在查詢方法上使用@Cacheable(key = "'list'")配置鍵的名稱
4、在修改方法上使用@CachePut(key = "'list'")配置鍵的名稱
http://127.0.0.1:8080/cache/user/list
http://127.0.0.1:8080/cache/user/add
http://127.0.0.1:8080/cache/user/delete
FileHandleUtil
檔案上傳工具類,上傳到與jar包同級的static目錄下,開發環境和服務器環境均可
方法:upload
入參:
inputStream 檔案流
path 檔案路徑,如:image/
filename 檔案名,如:test.jpg
出參:
最后檔案存放路徑為:static/upload/image/test.jpg
檔案訪問路徑為:http://127.0.0.1:8080/upload/image/test.jpg
該方法回傳值為:/upload/image/test.jpg
方法:delete
入參:
path: 檔案路徑,是upload方法回傳的路徑如:/upload/image/test.jpg
關聯配置:
spring:
# 靜態資源路徑
resources:
static-locations: classpath:static/,file:static/
Dockerfile使用步驟
1、使用gradle的bootRepackage進行打包
2、Dockerfile目錄下使用命令:docker build -t springboot:v1.0 .
3、啟動本地redis,并修改application-dev.yml中redis的IP地址為宿主機的IP地址如:192.168.1.111,mysql的IP地址同理
4、使用命令:docker run --name springbootTemplate -d -p 8080:8080 springboot:v1.0
5、直接訪問測驗地址即可
注意事項
- Dockerfile中的APP_NAME對應jar.baseName-jar.version
- Dockerfile中的APP_PORT&EXPOSE根據專案情況填寫
快速啟動和停止應用的腳本
app.sh腳本為快速啟動應用和關閉應用的腳本,使用方法如下:
首先,將你需要發布的jar包,和含有上述內容的腳本app.sh,上傳至linux服務器,注意兩者必須處于同一目錄,并給予app.sh相應執行權限,chmod 777 app.sh
然后就可以執行腳本,命令如下
腳本中可以修改的地方:
nohup java -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -Xms512M -Xmx4G -jar $appName > /dev/null 2>&1 &
這是最終jar的啟動命令,在這里你需要對gc、Xms、Xmx等針對你機器的實際情況修改,還可以添加你所需要的啟動引數等,
for i in {5..1}
這里是設定restart的時候等待的時間,因為有的專案在5秒之內可能沒有辦法正常停止,所以可以調整為10秒,保證應用確實正常停止后再啟動
- 腳本至更新1.0.1
- 啟動停止優化
./app.sh start 默認會啟動當前目錄下最后放入的jar包,stop同理 - 啟動停止引數優化
./app.sh start springBootTemplate-0.0.1-SNAPSHOT.jar后面可以跟上專案名稱,啟動或停止指定的專案 - 重啟指令優化,方便重新發布服務
./app.sh restart如果當前目錄下有兩個jar包,會停止前一個放入的jar并備份,然后啟動最新放入的jar
如:當前目錄情況為
app1.jar 放入檔案夾時間為12:00
app2.jar 放入檔案夾時間為13:00
app.sh
執行重啟指令后,先停止app1.jar,然后備份app1.jar,然后啟動app2.jar
原始碼已經上傳github,而對于SPringleBoot,能看到這里的朋友應該對這個技術很感興趣吧,這里也給大家準備了一些資料
相應的文章已經整理形成檔案,git掃碼獲取資料看這里
https://gitee.com/biwangsheng/personal.git
目錄
詳細介紹
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/67403.html
標籤:Java
