SpringBoot中配置文件的优先级详解

在springboot项目中,配置文件有三种格式

application.properties(使用Spring Initializr创建springboot的默认配置文件格式)
application.yaml
application.yml(推荐使用)

下面通过一个实例来讲解三种配置的优先级

1、新建一个springboot项目

SpringBoot中配置文件的优先级详解_第1张图片

2、勾选Spring Web(等会用来测试),直接Finish

SpringBoot中配置文件的优先级详解_第2张图片

初始化完成的项目结构

SpringBoot中配置文件的优先级详解_第3张图片

1、点击application.properties,自定义端口号为8081

SpringBoot中配置文件的优先级详解_第4张图片

server.port=8081

2、在resources下新建一个application.yaml配置文件,并设置端口号为8082

注:yaml和yml的语法格式相同,形如k: v(冒号后面的空格不能少)

SpringBoot中配置文件的优先级详解_第5张图片

server:
  port: 8082

3、在resources下新建一个application.yml配置文件,并设置端口号为8083

SpringBoot中配置文件的优先级详解_第6张图片

server:
  port: 8083

3、新建一个controller包,创建一个HelloController类

SpringBoot中配置文件的优先级详解_第7张图片

package com.zou.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author: 邹祥发
 * @date: 2021/4/26 09:57
 */
@RestController
public class HelloController {
    @GetMapping("/demo")
    public String Page() {
        return "配置文件优先级测试.....";
    }
}

4、测试一:

1、启动程序

SpringBoot中配置文件的优先级详解_第8张图片

2、在浏览器中输入http://localhost:8081/demo

SpringBoot中配置文件的优先级详解_第9张图片

由此可见application.properties的优先级为最高

5、测试二:

1、将application.properties里面的代码注释掉,重新启动程序

SpringBoot中配置文件的优先级详解_第10张图片

2、在浏览器中输入http://localhost:8083/demo

SpringBoot中配置文件的优先级详解_第11张图片

由此可见application.yml的优先级为第二

6、测试三:

1、将application.yml里面的代码注释掉,重新启动程序

SpringBoot中配置文件的优先级详解_第12张图片

2、在浏览器中输入http://localhost:8082/demo

SpringBoot中配置文件的优先级详解_第13张图片

由此可见application.yaml的优先级为最低

7、测试四:

1、将application.yaml里面的代码注释掉,重新启动程序

SpringBoot中配置文件的优先级详解_第14张图片

2、在浏览器中输入http://localhost:8080/demo

SpringBoot中配置文件的优先级详解_第15张图片

由此可见springboot默认启动端口号为8080

你可能感兴趣的:(java,spring,boot)