配置文件的管理
有的時候我們希望開發環境和測試環境的配置文件放在一起可以快速切換
spring boot 為我們提供了很方便的的選項
在 application.properties 中只需要添加屬性 spring.profiles.active=dev
這樣spring boot 就會切換選擇 對應的配置文件 application-dev.properties,把里面的屬性覆蓋當前的配置文件
除此之外 @Profile({"dev"}) 注冊的組件就會被掃描 這樣非常適合調試
如果打包之后,我們還可以在參數中選擇配置,非常便捷而且不用重新打包
java -jar xxweb.jar --spring.profiles.active=online
最常用的屬性就是 --server.port=8090 (端口號)
靜態資源的管理
我們一般比較喜歡把spring-boot打包成jar之后再部署,通常情況下靜態資源文件也會被打包,如果前端資源太大,或者調試的時候想要動態更改前端文件,那么可以使用以下配置屬性
這樣就不用在本地修改完還要打包了,可以直接上傳到服務器上
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${user.dir}../static/
本地沒太大問題,不過筆者嘗試過在打包成jar后不太好用,設置為啟動參數就完美解決了
遠程服務器調試
spring-boot打包成jar很方便,但是如果項目依賴太多,jar包就會很大,放在測試環境機器上每次都要先打包好久,然后再上傳好久,但是自己只改了一兩個class文件,太不爽了
我們可以把 spring-boot 的jar包打開
jar -xvf xxxweb.jar
這個命令會把jar所有的文件copy到當前目錄
然后把自己改的文件覆蓋對應的class,然后可以打包,也可以直接啟動
打包:
jar -cvfM0 xxxweb.jar ./
直接啟動
java org.springframework.boot.loader.JarLauncher