SpringBoot配置文件:YAML和Properties
  19qMgiCiiRfc 2023年12月07日 29 0

一、前言

配置文件是一项非常重要的内容,它们通常用于存储应用程序的各种设置和配置选项,包含数据库连接信息、日志级别设置、端口设置等,可以根据情况切换不同的环境,因此良好的配置文件管理可以帮助我们应对多环境配置管理。我们学习常用的两种配置文件格式:YAML和Properties。

二、配置优先级

在SpringBoot中,有4个地方可以存放配置文件,并按照优先级从高到低排列如下:

1.项目根目录的config目录下

2.项目根目录下

3.resource目录的config目录下

4.resource目录下

SpringBoot配置文件:YAML和Properties_配置文件

三、Properties配置文件

Properties文件是Java应用程序中常用的配置格式。格式基本上就是键值对的形式,语法:key=value。

1.定义公共配置文件

db.name=hello
db.username=root
db.password=123456

2.属性注入

然后通过@Value注解将这些属性注入

package com.example.hellodemo.config;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * @author qx
 * @date 2023/11/28
 * @des
 */
@Component
@Data
public class DbConfig {

    @Value("${db.name}")
    private String name;

    @Value("${db.username}")
    private String username;

    @Value("${db.password}")
    private String password;
}

3.定义接口请求测试

package com.example.hellodemo.controller;

import com.example.hellodemo.config.DbConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;


/**
 * @author qx
 * @date 2023/11/27
 * @des
 */
@RestController
public class DbController {

    @Autowired
    private DbConfig config;

    @GetMapping("/hello")
    public DbConfig test() {
        return config;
    }

}

然后我们在浏览器上进行接口请求测试

SpringBoot配置文件:YAML和Properties_YAML_02

4.拓展

注释以#或!开头

#db.name=hello
!db.username=root
db.password=123456

续行符:properties使用反斜杠(\)将键值拆分成多行。

db.name=This is a hello \
  world test \
  and is end.
db.username=root
db.password=12345

SpringBoot配置文件:YAML和Properties_Properties_03

四、YAML配置文件

YAML是一种可读的数据序列化格式,语法简单,可以轻松创建层次结构化的数据。语法: key: value,通常文件以.yml为后缀名。

db:
  name: hello
  username: root
  password: 123456

SpringBoot配置文件:YAML和Properties_Properties_04

注意事项:

不同等级用冒号隔开,冒号之后如果有值,冒号和值之间有一个空格。要么使用application.properties要么使用application.yml。

五、YAML和Properties的区别

1.Properties使用键值对的结构,而Yaml使用缩进的层次结构。

2.Properties只支持key-value键值对中字符串类型值,而Yaml支持多种数据类型。

3.由于其结构和语法简单,Properties文件相对于yaml文件来说更易读和理解

4.yaml比Properties更强大,支持包括注释、多行字符串、继承、引用等功能。这使得yaml更加灵活,适用于更复杂的配置需求

总的来说,如果只是简单的配置信息,Properties更加适合;如果需要更复杂的配置或者更灵活的配置方式,用yaml会更好。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月07日 0

暂无评论

推荐阅读
19qMgiCiiRfc