06 SpringBoot企业实战多环境切换之Profile

企业项目开发都会经历这几个环境

  • 开发阶段 ->开发环境
  • 测试阶段 -> 测试环境
  • 上线运行 -> 生产环境

扫盲

server.port=8080表示springboot启动内置tomcat容器使用8080端口

1、多profile文件形式(常见)

【1.1】新建多个配置文件

新建的文件取名规则:application-{name}.properties
这个name在后面需要用到

  • application:系统默认配置文件(默认系统加载这个)
  • application-dev :开发环境配置文件
  • application-test:测试环境配置文件
  • application-prod:生产环境配置文件
    06 SpringBoot企业实战多环境切换之Profile

【1.2】启动程序看加载哪个

1、启动类上右键
2、ctrl+shift+F10(如果F10 是功能键请再按下Fn键)
06 SpringBoot企业实战多环境切换之Profile

【1.3】默认使用application.properties配置

06 SpringBoot企业实战多环境切换之Profile

【1.4】如何加载其它的环境

很明显,系统只认识application.properties文件,所以从它下手

06 SpringBoot企业实战多环境切换之Profile

【1.5】启动程序试一试

端口换成8082了,说明已经生效
06 SpringBoot企业实战多环境切换之Profile

2、多profile文档模式(少见)

使用这种方式主要是使用application.yml格式配置文件

【2.1】认识下分段

  • 在yml文件中使用连续的三个减号可以把一个yml文件分段成多个文档,如下图所示

06 SpringBoot企业实战多环境切换之Profile

【2.2】默认使用第几段?启动测试下

06 SpringBoot企业实战多环境切换之Profile

【2.3】好像有点小意外

它好像用的是第三段的配置,是不是没起名字的原因;加上名字说明是哪个环境

【2.4】给环境命名

06 SpringBoot企业实战多环境切换之Profile

【2.5】命名后再测试下

好像是8080端口,说明默认加载没有命名的那一段

06 SpringBoot企业实战多环境切换之Profile

【2.6】老套路,改默认的这个切换启动环境

06 SpringBoot企业实战多环境切换之Profile

【2.7】再看结果

启动端口8081,切换到dev成功

06 SpringBoot企业实战多环境切换之Profile

3、设置Programe arguments参数

–spring.profiles.active=dev或者spring.profiles.active=dev都可以

【3.1】另一种启动方式

请看idea右上角,安如下1、2步骤点击
06 SpringBoot企业实战多环境切换之Profile

【3.2】打开一个窗口

06 SpringBoot企业实战多环境切换之Profile

【3.3】点击OK此时不会运行程序,再次点击下图按钮启动

06 SpringBoot企业实战多环境切换之Profile

【3.4】查看结果

如果不信的话,大家自己修改–spring.profiles.active的值
06 SpringBoot企业实战多环境切换之Profile

4、命令行模式

语法:–spring.profiles.active=dev
特点:也会覆盖yml中的配置

【4.1】程序的另一种启动方式

程序开发完成后会打包,我们创建项目选择的是jar包的方式,所以程序最终会打包成jar;然后我们可以通过java -jar命令也可以启动一个容器运行我们的项目

【4.2】打包1,找到maven

06 SpringBoot企业实战多环境切换之Profile

【4.2】打包2,看是否结束,打包到什么地方了

06 SpringBoot企业实战多环境切换之Profile

【4.3】打开cmd输入如下命令

语法:java -jar 你刚打的jar包 --spring.profiles.active=你想使用的环境

06 SpringBoot企业实战多环境切换之Profile

【4.4】查看结果

刚好是上面prod的端口号
06 SpringBoot企业实战多环境切换之Profile

5、jvm参数模式

-Dspring.profiles.active=dev

【5.1】这个就不跟大家BB了,发个图就懂

06 SpringBoot企业实战多环境切换之Profile

总结

1、web项目的启动方式是一个面试题,做好笔记

2、多环境切换是实战中必须掌握的