走進SpringBoot之配置文件與多環(huán)境詳解
在第一個Springboot項目中我們知道,SpringBoot項目的默認 配置文件在main/resources下的application.properties下,我們接直接用之前的項目了解一下配置文件。
application.properties配置文件中 配置整個springboot所需的配置,例如端口,項目名稱,redis信息,到后續(xù)開發(fā)springcloud時的注冊中心等等的配置信息,當然也可以自己自定義的配置項。
我們打開application.properties,添加配置項:
server.port=8083 name=this is default
然后改寫之前的HelloSpringBootController類:
@RestController public class HelloSpringBootController { @Value("${name}") private String name; @RequestMapping("/sayHello") public String sayHello() { return "Hello ,"+this.name; } }
接著啟動項目可以看見:
啟動了8083 端口
我們訪問一下http://127.0.0.1:8083/sayHello,效果如下:
訪問 成功,配置項正確獲取了。
但是在我們正常的開發(fā)中會有多個環(huán)境,測試環(huán)境,開發(fā)環(huán)境,生產(chǎn)環(huán)境,聯(lián)調(diào)環(huán)境等等,每個環(huán)境下的配置不盡相同,那就需要我們配置多環(huán)境的配置文件:
首先在main/resources下 創(chuàng)建以下幾個環(huán)境配置文件
修改各個配置文件的端口和name值
在application.properties下設置:
spring.profiles.active=prod
確定當前使用的是哪個環(huán)境,這邊環(huán)境的值與application-prod.properties中-后面的值對應,這是SpringBoot約定好的,
啟動項目:
會發(fā)現(xiàn)啟動了application-prod,properties配置下的8082端口,因為我們設置了當前的環(huán)境是prod,所以application-prod,properties生效了。
在瀏覽器中輸入http://127.0.0.1:8082/sayHello,效果如下:
獲取到 了正確的端口和值,可以依次測試各個環(huán)境。
基本的多環(huán)境配置如上述。
但是在工作項目中我們將一個項目打包之后發(fā)布,springboot 項目使用java -jar xxx.jar 來啟動項目。那么我們現(xiàn)在打包之后部署在開發(fā)環(huán)境中,配置文件中應該這樣配置
spring.profiles.active=dev
那么如果我們要將項目部署到測試環(huán)境中,是不是需要修改一下配置文件,然后重新打包部署呢?顯然不是的,當然有更好的辦法來解決。
首先我們將 項目打包,當然我們一般會有一些自動打包的腳本,但是這邊我就 直接使用cmd打包
打開cmd進入當前項目的目錄
運行mvn install (首先確認你已經(jīng)安裝了maven并且配置好環(huán)境變量,mvn是可以運行的)
運行成功之后進入target目錄會看見,項目已經(jīng)打包成jar了
cmd 繼續(xù)進入target目錄 (jar所在的目錄)
運行:
java -jar PropertiesSpringBoot-0.0.1-SNAPSHOT.jar --spring.profiles.active=test
運行jar包,并使用--配置項=值,來設置配置項
可以看見啟動了測試環(huán)境8083
訪問正確!
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Java?GenericObjectPool?對象池化技術之SpringBoot?sftp?連接池工具類詳解
這篇文章主要介紹了Java?GenericObjectPool?對象池化技術之SpringBoot?sftp?連接池工具類詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04SpringBoot結(jié)合Redis實現(xiàn)會話管理功能
在Web應用程序中,會話管理是一項重要的任務,它涉及跟蹤用戶的身份驗證狀態(tài)和其他相關信息,以確保用戶在與應用程序交互時的連續(xù)性和安全性,在本文中,我們將探討如何使用Spring Boot和Redis實現(xiàn)高效的會話管理2023-06-06Springboot+Shiro記錄用戶登錄信息并獲取當前登錄用戶信息的實現(xiàn)代碼
這篇文章主要介紹了Springboot+Shiro記錄用戶登錄信息,并獲取當前登錄用戶信息,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05mybatis查詢數(shù)據(jù)賦值到model里面為空的解決
這篇文章主要介紹了mybatis查詢數(shù)據(jù)賦值到model里面為空的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01由淺到深帶你詳談Java實現(xiàn)數(shù)組擴容的三種方式
這篇文章主要詳細介紹了Java實現(xiàn)數(shù)組擴容的三種方式,新建一個數(shù)組,把原來數(shù)組的內(nèi)容搬到新數(shù)組中,使用system.arraycopy(),使用java.util.Arrays.copyOf()這三種方式,具有一定的參考價值,需要的朋友可以借鑒一下2023-06-06Spring中@PropertySource的使用方法和運行原理詳解
這篇文章主要介紹了Spring中@PropertySource的使用方法和運行原理詳解,PropertySource注解可以方便和靈活的向Spring的環(huán)境容器(org.springframework.core.env.Environment?Environment)中注入一些屬性,這些屬性可以在Bean中使用,需要的朋友可以參考下2023-11-11