SpringBoot学习笔记——多环境配置

来源:互联网 发布:一身份证创建2个淘宝店 编辑:程序博客网 时间:2024/06/05 23:42

SpringBoot学习笔记

多环境配置

在 SpringBoot学习笔记——Hello SpringBoot! 中提到了SpringBoot应用程序可以使用三种方式开启:

1.点击IDEA里的绿色箭头运行。
2.使用命令提示行(cmd或IDEA自带的Terminal)进入到此工程目录下,使用命令:mvn spring-boot:run
3.使用命令提示行(cmd或IDEA自带的Terminal)进入到此工程目录下,使用命令:mvn install 这是使用项目管理利器Maven将应用的jar包安装到本地仓库中的命令,此时会在工程目录下生成target文件夹,生成的jar包就在里面。然后cd target 命令进入新生成的target文件夹,使用命令java -jar <文件名> 处理生成的jar文件

既可直接按IDEA的运行按钮,也可通过命令提示行指定运行,这就为多环境配置创造了条件,以上一篇博客 SpringBoot学习笔记——项目属性配置 的代码为基础,进一步学习SpringBoot应用程序的多环境配置。


在之前的博客提到过,使用yml文件进行环境配置,比如文件application.yml如下:

server:  port: 8085  context-path: /yimiperson:  name: "Yimi"  age: 20

此时只有application.yml这一个配置文件,所以无论使用哪种方式启动,所看到的浏览器端界面都是一样的。接下来,编写两个不用的配置文件:
application-dev.yml

server:  port: 8086  context-path: /yimiperson:  name: "dev"  age: 20

application-prod.yml

server:  port: 8087  context-path: /yimiperson:  name: "prod"  age: 20

为了更好的区分,我使用了不同的端口,然后再修改原application.yml文件如下:

spring:  profiles:    active: dev

即默认执行application-dev.yml的配置。
然后直接按IDEA的运行按钮,在浏览器url处输入:http://localhost:8086/yimi/hello效果如下:
dev
而此时在浏览器url处输入:http://localhost:8087/yimi/hello则无法访问到界面。
接下来再通过命令提示行的方式运行,不过这次是要指定运行application-prod.yml的配置,步骤如下:
使用命令提示行(cmd或IDEA自带的Terminal)进入到此工程目录下,使用命令mvn install 。使用命令 java -jar target/demo-0.0.1-SNAPSHOT.jar --spring.profile.active=prod
处理生成的jar文件,其中后面的参数 --spring.profile.active=prod 就是指定使用application-prod.yml文件的配置。现在在浏览器url处输入:http://localhost:8087/yimi/hello则可以访问到界面,效果如下:
prod