SpringBoot中application.yml配置文件的写法

 更新时间:2024年07月13日 10:24:01   作者:忆梦~留念  
这篇文章主要介绍了SpringBoot中application.yml配置文件的写法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1、基本介绍

(1)YAML 是 JSON 的超集,简洁而强大,是一种专门用来书写配置文件的语言,可以替代 application.properties。

(2)在创建一个 SpringBoot 项目时,引入的 spring-boot-starter-web 依赖间接地引入了 snakeyaml 依赖, snakeyaml 会实现对 YAML 配置的解析。

(3)YAML 的使用非常简单,利用缩进来表示层级关系,并且大小写敏感。

2、YAML 配置与 Properties 配置的比较

properties 写法

可以使用 @PropertySource 注解加载自定义的 Properties 配置文件,但无法加载自定义的 YAML 文件。YAML 支持列表的配置,而 Properties 不支持。

(2)以空格的缩进来控制层级关系;只要时左对齐的一列数据,都是同一个层级的。

(3)属性和值都是大小敏感

2.1、基本语法

  • (1)key: value。冒号与value之间必须有一个空格。
  • (2)大小写敏感。
  • (3)使用缩进表示层级关系。
  • (4)缩进不允许使用tab,只能使用空格。
  • (5)缩进的空格数不重要,只要相同层级的元素左对齐即可。
  • (6)# 后面跟注释内容
  • (7)字符串无须加引号。"“会进行转义。比如’\n’就输出\n,但”\n"则会输出换行。

3、值的写法

1)字面量:单个的、不可再分的值。date、boolean、string、number、null

值可以不加双引号或单引号,都默认表示字符串加双引号:支持转义字符

加单引号:不支持转义字符

2)对象:键值对的集合。map、hash、set、object

3)数组:一组按次序排列的值。array、list、queue

集合对象

整合

4、取值

方法1、@value("{}")取值

方法2、@ConfigurationProperties

这种方法可以取出yml中的数组

yml中配置数据库连接

编写jdbc实体类及getter setter 方法

注入

取数组

方法3、Environment

5、多环境配置

我们还可以通过在代码中指定使用哪种环境的配置

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
 
@SpringBootApplication
public class TestApplication {
 
    public static void main(String[] args) {
        SpringApplicationBuilder builder = new SpringApplicationBuilder(TestApplication.class);
        builder.application().setAdditionalProfiles("dev");
        builder.run(args);
    }
}

我们可以把多个环境的配置写在一个文件里,可以使用符号

spring:
  profiles:
    # 使用开发环境的配置
    active: dev
---
# 开发环境配置
server:
  port: 8888
spring:
  profiles: dev
---
# 生产环境配置
server:
  port: 8888
spring:
  profiles: prod

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • idea intellij快速修复if语句缺少大括号的问题

    idea intellij快速修复if语句缺少大括号的问题

    这篇文章主要介绍了idea intellij快速修复if语句缺少大括号的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • PageHelper分页查询操作方法示例

    PageHelper分页查询操作方法示例

    这篇文章主要为大家介绍了PageHelper分页查询数据操作方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Java Servlet实现表白墙的代码实例

    Java Servlet实现表白墙的代码实例

    最近用Servlet做了个小项目,分享给大家,下面这篇文章主要给大家介绍了关于Java Servlet实现表白墙的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • Java基础之垃圾回收机制详解

    Java基础之垃圾回收机制详解

    这篇文章主要介绍了Java基础之垃圾回收机制详解,文中有非常详细的代码示例,对正在学习java基础的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • Java多线程编程中使用Condition类操作锁的方法详解

    Java多线程编程中使用Condition类操作锁的方法详解

    Condition是java.util.concurrent.locks包下的类,提供了对线程锁的更精细的控制方法,下面我们就来看一下Java多线程编程中使用Condition类操作锁的方法详解
    2016-07-07
  • Java多线程编程实战之模拟大量数据同步

    Java多线程编程实战之模拟大量数据同步

    这篇文章主要介绍了Java多线程编程实战之模拟大量数据同步,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • 小米推送Java代码

    小米推送Java代码

    今天小编就为大家分享一篇关于小米推送Java代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Java解除文件占用即Dom4j操作后实现xml关流

    Java解除文件占用即Dom4j操作后实现xml关流

    这篇文章主要介绍了Java解除文件占用即Dom4j操作后实现xml关流,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Springboot使用jxls实现excel模板导出excel方式

    Springboot使用jxls实现excel模板导出excel方式

    这篇文章主要介绍了Springboot使用jxls实现excel模板导出excel方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • 浅谈Java中OutOfMemoryError问题产生原因

    浅谈Java中OutOfMemoryError问题产生原因

    本文主要介绍了浅谈Java中OutOfMemoryError问题产生原因,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论