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

总结

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

相关文章

  • 关于@Value取值为NULL的解决方案

    关于@Value取值为NULL的解决方案

    这篇文章主要介绍了关于@Value取值为NULL的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • SpringBoot将Bean放入容器的五种方式

    SpringBoot将Bean放入容器的五种方式

    这篇文章给大家介绍了SpringBoot将Bean放入容器的五种方式,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-02-02
  • WIndows服务器中使用nssm启动多个Springboot服务的方法

    WIndows服务器中使用nssm启动多个Springboot服务的方法

    本文介绍在Windows服务器使用nssm安装配置多个Springboot服务(如opmDev/Prd),支持启动、停止、卸载及状态查看,便于通过任务管理器统一管理
    2025-07-07
  • mybatis if标签使用总结

    mybatis if标签使用总结

    这篇文章主要介绍了mybatis if标签使用总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Java WindowBuilder 安装及基本使用的教程

    Java WindowBuilder 安装及基本使用的教程

    这篇文章主要介绍了Java WindowBuilder 安装及基本使用的教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Java适配器模式之如何灵活应对不匹配的接口

    Java适配器模式之如何灵活应对不匹配的接口

    本文介绍了Java中的适配器模式,包括对象适配器模式和接口适配器模式,适配器模式通过将一个类的接口转换成客户期望的另一个接口,解决了不同接口之间的不兼容问题,它提高了系统的灵活性、复用性和解耦性,需要的朋友可以参考下
    2024-10-10
  • JAVA遍历一个文件夹中的所有文件的小例子

    JAVA遍历一个文件夹中的所有文件的小例子

    在实际项目中给定一文件夹,得到这个文件夹下所有的文件这样的需求并不是很多,更多的是查找或是删除某一具体的文件
    2013-10-10
  • 深入理解Java中线程间的通信

    深入理解Java中线程间的通信

    一般来讲,线程内部有自己私有的线程上下文,互不干扰。但是当我们需要多个线程之间相互协作的时候,就需要我们掌握Java线程的通信方式。本文将介绍Java线程之间的几种通信原理,需要的可以参考一下
    2022-11-11
  • 关于Spring启动时Context加载源码分析

    关于Spring启动时Context加载源码分析

    这篇文章通过源码分析主要给大家介绍了关于Spring启动时Context加载的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • SpringCloud-Nacos服务注册与发现方式

    SpringCloud-Nacos服务注册与发现方式

    这篇文章主要介绍了SpringCloud-Nacos服务注册与发现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07

最新评论