springboot多環(huán)境配置方案(不用5分鐘)
一 前言
本篇文章的主題是在springboot中寫多個(gè)配置文件,指定讓個(gè)配置文件生效,以便于達(dá)到在開發(fā)環(huán)境,測(cè)試環(huán)境,線上環(huán)境根據(jù)不同的配置靈活應(yīng)用;讀完本篇你將獲得,學(xué)會(huì)springboot的多環(huán)境配置;學(xué)會(huì)使用idea配置虛擬機(jī)參數(shù)啟動(dòng)不同的配置文件;學(xué)會(huì)使用jar包運(yùn)行并且指定不同的配置文件等;
二 激活方式一
spring框架內(nèi)部提供了2中方式用于加載YAML文檔,以供啟動(dòng)時(shí)讀取配置文件;YamlPropertiesFactoryBean
會(huì) 加載 YAML 變?yōu)?Properties;YamlMapFactoryBean
會(huì) 轉(zhuǎn)換 YAML 為map;使用YAML更加簡(jiǎn)便不用擔(dān)心內(nèi)部具體如何轉(zhuǎn)換;
2.1pom.xml
引入依賴boor-start依賴和打包插件;jdk1.8版本,boot2.1.1;
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.1.RELEASE</version> <relativePath/> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
2.2 application.yml
一切從簡(jiǎn),知識(shí)追尋者不會(huì)在配置文件中寫其他內(nèi)容,就指定端口即可,用于區(qū)別不同的環(huán)境;其中配置開發(fā)環(huán)境為dev,生產(chǎn)環(huán)境為pro;默認(rèn)激活dev 環(huán)境;
# 激活配置 spring: profiles: active: dev --- # 配置一 開發(fā)環(huán)境 spring: profiles: dev server: port: 8060 --- # 配置二 生產(chǎn)環(huán)境 spring: profiles: pro server: port: 8061
2.3 controller
controller一個(gè)hell方法,用于瀏覽器測(cè)試;
@RestController public class ZSZXZ { @GetMapping("zszxz") public String hello(){ return "hello 知識(shí)追尋者"; } }
2.4 啟動(dòng)類
啟動(dòng)類添加@SpringBootApplication注解,表名是個(gè)springboot應(yīng)用,會(huì)進(jìn)行自動(dòng)配置;
/** * @Author lsc * <p> 多環(huán)境配置 </p> */ @SpringBootApplication public class ProfileApp { public static void main(String[] args) { SpringApplication.run(ProfileApp.class,args); } }
2.5 dev執(zhí)行結(jié)果
啟動(dòng)工程,打開瀏覽器路徑如下,端口是8086,說明默認(rèn)激活dev環(huán)境已經(jīng)成功
http://localhost:8060/zszxz
2.6 pro執(zhí)行結(jié)果
application.yml中修改激活環(huán)境為pro后重啟工程,修改瀏覽器端口,執(zhí)行結(jié)果如下說明配置成功;
# 激活配置 spring: profiles: active: pro
http://localhost:8061/zszxz
執(zhí)行結(jié)果
三 激活方式二
3.1 application.yml
去除application.yml中激活方式,知識(shí)追尋者改用idea配置VM參數(shù)選項(xiàng)方式進(jìn)行激活;
--- # 配置一 開發(fā)環(huán)境 spring: profiles: dev server: port: 8060 --- # 配置二 生產(chǎn)環(huán)境 spring: profiles: pro server: port: 8061
3.2 idea配置VM參數(shù)
在VM選項(xiàng)中輸入-Dspring.profiles.active=dev
,表示激活dev環(huán)境;然后重啟工程訪問即可
四 項(xiàng)目部署方式
將工程打包成jar包,在cmd中如下命令執(zhí)行,如果包名不同請(qǐng)?zhí)鎿Q,然后瀏覽器訪問即可;
java -jar springboot-profile-1.0-SNAPSHOT.jar --Dspring.profiles.active=dev
五 多配置文件方式
上面的配置文件都寫在一個(gè)application.yml中,過于累贅,為了方便查閱和解耦合,推薦多個(gè)配置文件方式,然后在主配置文件中激活,具體的步驟如下;
5.1 application-zszxz.yml
新建yml文件名為application-zszxz.yml;內(nèi)容如下
server: port: 8061
5.2 application-test.yml
新建yml文件名為application-test.yml;內(nèi)容如下
server: port: 8060
5.3 application.yml
修改application.yml內(nèi)容如下
spring: profiles: active: zszxz
5.4 啟動(dòng)后結(jié)果
http://localhost:8061/zszxz 啟動(dòng)后結(jié)果 與之前一致,不再貼圖浪費(fèi)資源;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
淺談JAVA 線程狀態(tài)中可能存在的一些誤區(qū)
這篇文章主要介紹了淺談JAVA 線程狀態(tài)中可能存在的一些誤區(qū),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Java行為型設(shè)計(jì)模式之外觀設(shè)計(jì)模式詳解
外觀模式為多個(gè)復(fù)雜的子系統(tǒng),提供了一個(gè)一致的界面,使得調(diào)用端只和這個(gè)接口發(fā)生調(diào)用,而無須關(guān)系這個(gè)子系統(tǒng)內(nèi)部的細(xì)節(jié)。本文將通過示例詳細(xì)為大家講解一下外觀模式,需要的可以參考一下2022-11-11實(shí)例講解Java讀取一般文本文件和word文檔的方法
讀取一般文本文件很好辦,調(diào)用Java自帶的io包里的類即可,富文本的doc文件我們可以用Apache的poi項(xiàng)目中的WordExtractor,這里我們一起來以實(shí)例講解Java讀取一般文本文件和word文檔的方法2016-06-06