三十六 Java开发学习----SpringBoot三种配置文件解析

一、 配置文件格式我们现在启动服务器默认的端口号是 8080 , 访问路径可以书写为
http://localhost:8080/books/1在线上环境我们还是希望将端口号改为 80,这样在访问的时候就可以不写端口号了,如下
http://localhost/books/1SpringBoot 程序如何修改呢?SpringBoot 提供了多种属性配置方式

  • application.properties
    server.port=80
  • application.yml
    server:port: 81
  • application.yaml
    server:port: 82
注意:SpringBoot 程序的配置文件名必须是 application  , 只是后缀名不同而已 。
1.1 环境准备延用Java开发学习(三十五)----SpringBoot快速入门及起步依赖解析里面的环境,结构如下
三十六 Java开发学习----SpringBoot三种配置文件解析

文章插图
在该工程中的 com.itheima.controller 包下创建一个名为 BookController 的控制器 。内容如下:
@RestController@RequestMapping("/books")public class BookController {?    @GetMapping("/{id}")    public String getById(@PathVariable Integer id){        System.out.println("id ==> "+id);        return "hello , spring boot!";  }}1.2 不同配置文件演示
  • application.properties配置文件
现在需要进行配置,配合文件必须放在 resources 目录下,而该目录下有一个名为 application.properties 的配置文件 , 我们就可以在该配置文件中修改端口号,在该配置文件中书写 port  。
application.properties 配置文件内容如下:
server.port=80启动服务,会在控制台打印出日志信息,从日志信息中可以看到绑定的端口号已经修改了
三十六 Java开发学习----SpringBoot三种配置文件解析

文章插图
  • application.yml配置文件
删除 application.properties 配置文件中的内容 。在 resources 下创建一个名为 application.yml 的配置文件,在该文件中书写端口号的配置项,格式如下:
server:port: 81
注意: 在:后,数据前一定要加空格 。
启动服务,可以在控制台看到绑定的端口号是 81
三十六 Java开发学习----SpringBoot三种配置文件解析

文章插图
  • application.yaml配置文件
删除 application.yml 配置文件和 application.properties 配置文件内容 , 然后在 resources 下创建名为 application.yaml 的配置文件,配置内容和后缀名为 yml 的配置文件中的内容相同,只是使用了不同的后缀名而已
application.yaml 配置文件内容如下:
server:port: 83启动服务,在控制台可以看到绑定的端口号
三十六 Java开发学习----SpringBoot三种配置文件解析

文章插图
1.3 三种配置文件的优先级在三种配合文件中分别配置不同的端口号,启动服务查看绑定的端口号 。用这种方式就可以看到哪个配置文件的优先级更高一些
application.properties 文件内容如下:
server.port=80application.yml 文件内容如下:
server:port: 81application.yaml 文件内容如下:
server:port: 82启动服务,在控制台可以看到使用的端口号是 80 。说明 application.properties 的优先级最高
注释掉 application.properties 配置文件内容 。再次启动服务 , 在控制台可以看到使用的端口号是 81 , 说明 application.yml 配置文件为第二优先级 。
从上述的验证结果可以确定三种配置文件的优先级是:
application.properties > application.yml > application.yaml
yml格式一般最常使用
二、yaml格式上面讲了三种不同类型的配置文件,而 properties 类型的配合文件之前我们学习过,接下来我们重点介绍 yaml 类型的配置文件 。
YAML(YAML Ain't Markup Language),一种数据序列化格式 。这种格式的配置文件在近些年已经占有主导地位,那么这种配置文件和前期使用的配置文件是有一些优势的,我们先看之前使用的配置文件 。

推荐阅读