SpringBoot的热布署和多环境配置(四)下

简介: SpringBoot的热布署和多环境配置(四)

网络异常,图片无法展示
|
二.一.三 测试运行


控制台打印输出 :


20210412210616378.png


发现,使用的确实是 开发环境。


将 application.yml 中的配置 spring.profiles.active 改成 test


spring:
  profiles:
    active: test   # 指定要使用哪一个环境


重新运行项目,观察控制台输出:


20210412210627497.png


发现,变成 了 8082, /Yue2, 这些确实是 test测试环境的配置。


将 application.yml 中的配置 spring.profiles.active 改成 proc ,


spring:
  profiles:
    active: proc   # 指定要使用哪一个环境


重启项目后,观察控制台输出


20210412210640513.png


发现,变成 了 8083, /Yue3, 这些确实是 proc生产环境的配置。


如果将 spring.profiles.active 改成 yuejl, 一个不存在的配置文件呢?


spring:
  profiles:
    active: yuejl   # 指定要使用哪一个环境


重启项目,观察控制台输出


20210412210651138.png


会采用 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


2021041221070775.png


运行成功之后,会生成一个 jar包


20210412210716575.png


二.三.二.一 不指定环境


采用 java -jar 的方法进行运行, 先不指定环境


D:\githubBoot\springboot\DevTools\target>java -jar learn-1.0-SNAPSHOT.jar


2021041221072747.png


20210412210738153.png


默认的配置会生效。


二.三.二.二 指定为开发环境


java -jar learn-1.0-SNAPSHOT.jar --spring.profiles.active=dev


20210412210747435.png


二.三.二.三 指定为测试环境


java -jar learn-1.0-SNAPSHOT.jar --spring.profiles.active=test


20210412210756805.png


二.三.二.四 指定为生产环境


java -jar learn-1.0-SNAPSHOT.jar --spring.profiles.active=proc


20210412210807833.png


二.三.二.五 指定一个不存在的环境时


java -jar learn-1.0-SNAPSHOT.jar --spring.profiles.active=yuejl


20210412210818122.png


会走默认的。


注意, 在 java -jar 时指定运行环境的优先级最高,比直接在配置文件中指定优先级高,所以既在配置文件中指定了,又在 java -jar 时指定了,以 java -jar 时为准。


本章节的代码放置在 github 上:


https://github.com/yuejianli/springboot/tree/develop/DevTools


谢谢您的观看,如果喜欢,请关注我,再次感谢 !!!


相关文章
|
Java 测试技术 数据库
SpringBoot的热布署和多环境配置(四)中
SpringBoot的热布署和多环境配置(四)
102 0
SpringBoot的热布署和多环境配置(四)中
|
Java Maven
SpringBoot的热布署和多环境配置(四)上
SpringBoot的热布署和多环境配置(四)
105 0
SpringBoot的热布署和多环境配置(四)上
|
Java 测试技术 数据库连接
SpringBoot的热布署和多环境配置(四)
本文主要讲解:1. 开发热布署2. 多环境配置
115 0
SpringBoot的热布署和多环境配置(四)
|
2天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的招投标管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的招投标管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
34 14
|
2天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的母婴全程服务管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的母婴全程服务管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
38 17
|
2天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的公考客观题复习系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的公考客观题复习系统的详细设计和实现(源码+lw+部署文档+讲解等)
9 1
|
2天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的新能源汽车信息咨询服务的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的新能源汽车信息咨询服务的详细设计和实现(源码+lw+部署文档+讲解等)
6 0
|
2天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的校园菜鸟驿站管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的校园菜鸟驿站管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
4 0
|
2天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的毕业设计选题管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的毕业设计选题管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
4 0
|
2天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的电影院选票系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的电影院选票系统的详细设计和实现(源码+lw+部署文档+讲解等)
4 0