当前位置: 首页 > article >正文

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


http://www.kler.cn/a/156553.html

相关文章:

  • 「QT」文件类 之 QDataStream 数据流类
  • 速盾:如何有效防止服务器遭受攻击?
  • stream学习
  • 蓝桥杯c++算法学习【2】之搜索与查找(九宫格、穿越雷区、迷宫与陷阱、扫地机器人:::非常典型的必刷例题!!!)
  • 代码随想录第二十一天| 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树
  • 《新智慧》期刊的征稿范围主要包括哪些方面?
  • homeassistant 随笔
  • java开发之个微机器人的实现
  • 面试题:MySQL为什么选择B+树作为索引结构
  • 135. 分发糖果
  • Linux结束程序运行的命令
  • GPIO的使用--存储系统与位带操作理解
  • 免费AI洗稿软件【2023最新】
  • 【JavaEE】多线程 (2) --线程安全
  • Elasticsearch 相似度评分模型介绍
  • JVM 运行时内存篇
  • ubuntu使用SSH服务远程登录另一台设备
  • 并发编程笔记
  • qiankun: 关于ElementUI字体图标加载不出来的问题
  • C++ Easyx 让圆球跟随鼠标移动
  • 【Node.js】解决npm报错:RequestError: unable to verify the first certificate
  • 手动安装配置dapr环境
  • 人工智能发展史
  • 算法leetcode|91. 解码方法(rust重拳出击)
  • 网易区块链,网易区块链赋能赣州脐橙数字藏品,数字指纹解决方案
  • 【Altera】Cyclone10 FPGA DDR3使用