Spring Boot学习笔记四--配置文件

Spring Boot支持的配置文件类型

application.properties
application.yml

配置文件的名称固定为application

yaml(yml)配置文件详解

概述

在Spring中使用xml作为配置文件,Spring Boot中使用yml作为配置文件,yml一种以数据为中心的标记语言,不存在xml各种繁琐的标签

基本语法

k: (空格)v表示一个键值对
如果存在层级关系,以空格缩进来控制层级关系,左侧需要对齐

server:
  port: 8080
  address:
  error:
    path: /erro

值支持的写法

字面量:字符串,布尔值,数字
字面量默认不需要引号,双引号和单引号有特殊用法
双引号内的转义字符不会发生转义,单引号内的转义字符会发生转义

对象 : map(键值对)
还是使用k: (空格)v的方式

server:
  port: 8080
  address:
  error:

数组:list ,set
使用-值的方式表示

pets:
  - cat
  - dog
  - pig

yml语法推荐教程 :http://www.ruanyifeng.com/blog/2016/07/yaml.html?f=tt

Profile

多profile文件–应用properties配置文件

编写 多个配置文件,分别用于测试,开发,运行等阶段,如
application-dev.properties 用于开发环境中的配置文件
application-prod.properties 用于生产环境的配置文件

选择激活哪个profile
spring.profiles.active=dev 激活开发环境配置文件
命令行激活 java -jar ####.jar --spring.profiles.active=dev
jvm 参数激活 -Dspring.profiles.active=dev

yml配置文件支持文档快模式–应用yml配置文件

server:
  port: 8080
spring:
  profiles:
    active:
---
server:
  port: 8081
spring:
  profiles: dev

---
server:
  port: 8082
spring:
  profiles: prod

配置文件加载位置

-项目根目录/config/
-项目根目录/
-classpath/config/
-classpath/

上面是按照从高到低排列的加载顺序,所有配置文件都会加载,形成互补加载,高优先级的配置文件会覆盖低优先级配置文件中的相同配置

外部配置文件加载位置

官方文档:https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/#boot-features-external-config

1.命令行参数
例如 java -jar ****.jar --server.port=80
2.jNDI
3.JAVA系统属性:system.getProperties()
4.操作系统环境变量
5.jar包外部application.yml(properties)带-spring.profile
6.jar包内部application.yml(properties)带-spring.profile
7.jar包外部application.yml(properties)不带-spring.profile
8.jar包内部application.yml(properties)不带-spring.profile

9.带有@Configuration注解类上的@PropertySource()
10.通过SpringBootApplication.setDefault()指定的默认属性

以上顺序按照从高到低排序,高优先级的配置文件会覆盖低优先级配置文件中的相同配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值