一、profile的多文档配置方式

1、profile文件方式:提供多个配置文件,每个代表一种环境

  如:

  1.application-dev.properties/yml 开发环境

  2.application-test.properties/yml 测试环境

  3.application-pro.properties/yml 生产环境

 

(1)application-dev.properties/yml代码块:

#开发环境
server:
  port: 8082

name: 开发环境

 

(2)application-test.properties/yml代码块:

#测试环境
server:
  port: 8081

name: 测试环境

 

(3)application-pro.properties/yml代码块:

#生产环境
server:
  port: 8083

name: 生产环境

 

 

2、在配置文件中激活profile

(1)application.yaml代码块:
spring:
  profiles:
    active: dev

name: 默认环境
(2)测试:

  1.新建ProfileController JavaClass

 

 

   2.添加测试数据

@RestController
public class ProfileController {
    @Value("${name}")
    private String name;

    @RequestMapping("/profile")
    public String profile(){
        return name;
    }
}

   3.测试结果

 

 

 二、profile的单文档配置方式

1、用 — — —来划分多个配置

   代码块:

 

#Spring学习(四)激活配置文件
#
spring:
  profiles:
    active: dev

name: 默认环境

---
#开发环境
server:
  port: 8877
name: 开发环境

spring:
  config:
    activate:
      on-profile: dev2 #当前编号名称
---
#测试环境
server:
  port: 8086
name: 测试环境

spring:
  config:
    activate:
      on-profile: test2 #当前编号名称
---
#生产环境
server:
  port: 8888
name: 生产环境

spring:
  config:
    activate:
      on-profile: pro2 #当前编号名称

2、然后一样同上面多文档一样激活

 

 

 2、运行结果

  测试active: dev2

结果:

 

 

 

 三、profile的虚拟机参数配置方式

1、打开Edit Configurations

 

2、设置参数

 

 

 


3、结果:

 

 

 

 四、profile的命令行参数参数配置方式

1、打开Edit Configurations

 

 

2、设置参数  --spring.profiles.active=xxx

 

 

 

3、结果

 

 

 

4、优先级结论

file:./config/:当前项目下的/config目录下 >file:./ :当前项目的根目录>

classpath:/config/:classpath的/config目录>命令行参数>虚拟机参数>文档配置

 

 

 

 

注意:当用Maven打包项目时,file:./config/:当前项目下的/config目录下 、file:./ :当前项目的根目录不会被打包进去

所以我们可以在打包好后解压重新放一个yaml文件进去,然后在声明配置文件的端口号

 

 

posted on 2022-04-14 17:48  最帅爸爸  阅读(109)  评论(0)    收藏  举报