网络异常,图片无法展示
|
二.一.三 测试运行
控制台打印输出 :
发现,使用的确实是 开发环境。
将 application.yml 中的配置 spring.profiles.active 改成 test
spring: profiles: active: test # 指定要使用哪一个环境
重新运行项目,观察控制台输出:
发现,变成 了 8082, /Yue2, 这些确实是 test测试环境的配置。
将 application.yml 中的配置 spring.profiles.active 改成 proc ,
spring: profiles: active: proc # 指定要使用哪一个环境
重启项目后,观察控制台输出
发现,变成 了 8083, /Yue3, 这些确实是 proc生产环境的配置。
如果将 spring.profiles.active 改成 yuejl, 一个不存在的配置文件呢?
spring: profiles: active: yuejl # 指定要使用哪一个环境
重启项目,观察控制台输出
会采用 8080 空 这种默认的配置。
二.二 单配置文件配置
上面配置一个环境,需要四个配置文件信息,能不能放置在一个配置环境里面呢? 改变时,只改变那些有区分的信息,如数据库连接信息,端口号和项目名这些可以相同的配置,不用改变。 yaml 配置文件,支持这种方式, 用 — 进行分隔不同的配置文件。
二.二.一 单文件配置
application.yml 的配置文件总信息是:
# 将以前的配置去除 #server: # port: 8027 # servlet: # context-path: /Yue spring: profiles: active: dev # 指定要使用哪一个环境 --- server: port: 8081 servlet: context-path: /Yue1 spring: profiles: dev # 用 spring.profiles 设置配置文件的名称,是开发环境 --- server: port: 8082 servlet: context-path: /Yue2 spring: profiles: test # 用 spring.profiles 设置配置文件的名称,是测试环境 --- server: port: 8083 servlet: context-path: /Yue3 spring: profiles: proc # 用 spring.profiles 设置配置文件的名称,是生产环境
二.二.二 测试运行
测试运行时,效果与多个配置文件的效果一样,改变 spring.profiles.active 的值的话,可以动态的改变环境的配置信息。
老蝴蝶这儿就不重复粘贴了。
二.三 运行时指定
第二种方式,需要在配置文件里面用 spring.profiles.active 进行指定。 切换不同的环境的话,也需要改变其对应的值。
能不能在 java -jar 时指定运行哪一个配置文件呢? 是可以的, SpringBoot支持这种处理。
在 java -jar Xxx.jar 时,后面添加参数 --spring.profiles.active=dev(test,proc) 这样方式。
二.三.一 application.yml配置文件里面去掉 指定文件属性
# 将以前的配置去除 #server: # port: 8027 # servlet: # context-path: /Yue --- server: port: 8081 servlet: context-path: /Yue1 spring: profiles: dev # 用 spring.profiles 设置配置文件的名称,是开发环境 --- server: port: 8082 servlet: context-path: /Yue2 spring: profiles: test # 用 spring.profiles 设置配置文件的名称,是测试环境 --- server: port: 8083 servlet: context-path: /Yue3 spring: profiles: proc # 用 spring.profiles 设置配置文件的名称,是生产环境
二.三.二 通过maven 进行打包运行
mvn clean install
运行成功之后,会生成一个 jar包
二.三.二.一 不指定环境
采用 java -jar 的方法进行运行, 先不指定环境
D:\githubBoot\springboot\DevTools\target>java -jar learn-1.0-SNAPSHOT.jar
默认的配置会生效。
二.三.二.二 指定为开发环境
java -jar learn-1.0-SNAPSHOT.jar --spring.profiles.active=dev
二.三.二.三 指定为测试环境
java -jar learn-1.0-SNAPSHOT.jar --spring.profiles.active=test
二.三.二.四 指定为生产环境
java -jar learn-1.0-SNAPSHOT.jar --spring.profiles.active=proc
二.三.二.五 指定一个不存在的环境时
java -jar learn-1.0-SNAPSHOT.jar --spring.profiles.active=yuejl
会走默认的。
注意, 在 java -jar 时指定运行环境的优先级最高,比直接在配置文件中指定优先级高,所以既在配置文件中指定了,又在 java -jar 时指定了,以 java -jar 时为准。
本章节的代码放置在 github 上:
https://github.com/yuejianli/springboot/tree/develop/DevTools
谢谢您的观看,如果喜欢,请关注我,再次感谢 !!!