Fork me on GitHub

YML

YAML

YAML Ain't Markup Language 这是一个递归写法 ;

  1. YAML A Markup Language:是一个标记语言
  2. YAML isn't Markup Language:不是一个标记语言;

标记语言: 我们以前用的配置文件,大多都使用 xxxx.xml 文件 ;

YAML : 是一种以数据为中心的配置文件, 比json,xml 等更适合做配置文件(xml 配置 将太多的浪费在了标签上面)。

yml 基本语法

server:
    port: 8081 
    path: /hello

k:(空格)v:表示一对键值对(空格必须有);
以 空格 的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的

属性和值也是大小写敏感;
  • 字面量:普通的值(数字,字符串,布尔)

k: v:字面直接来写;
字符串默认不用加上单引号或者双引号;

 

"":双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思

'':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据

  • 对象、Map(属性和值)(键值对):

k: v:在下一行来写对象的属性和值的关系;注意缩进
对象还是k: v的方式

friends:
        lastName: zhangsan
        age: 20
行内写法: 
friends: {lastName: zhangsan,age: 18}
  • 配置文件注入

JavaBean

配置提示

可以导入配置文件处理器依赖,以后编写配置就会有代码提示;

 

 

 

 

SpringBoot多个yml实现多环境

spring:
    # 环境 dev:开发环境|test:测试环境|prod:生产环境
    profiles:
        active: dev #激活的配置文件

在激活application-dev.yml时若其中存在application.yml同名配置时后者的配置属性会被覆盖(即激活配置文件优先级高于总配置文件)

单个yml实现多环境

用---实现多文件内容的分割,application.yml中用spring.profiles.active: 实现指定的文件

spring:
  profiles.active: dev

# 默认的profile为dev,其他环境通过指定启动参数使用不同的profile,比如:
#   测试环境:java -jar spring-boot.jar --spring.profiles.active=test
#   生产环境:java -jar spring-boot.jar --spring.profiles.active=prod
---
# 开发环境配置
spring:
  profiles: dev
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver
server:
  port: 8080
---
# 测试环境配置
spring:
  profiles: test
  datasource:
    url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    username: root
    password: test
    driver-class-name: com.mysql.jdbc.Driver
server:
  port: 88
---
# 生产环境配置
spring:
  profiles: prod
  datasource:
    url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    username: root
    password: prod
    driver-class-name: com.mysql.jdbc.Driver

 

posted @ 2020-02-22 18:51  秋夜雨巷  阅读(3320)  评论(0编辑  收藏  举报