SpringBoot 2.X课程学习 | 第四篇:初识springboot配置文件

一、前言

      由于springboot自动配置的特性,它会依照我们搭建项目时给予的组件之间依赖性为我们自动配置好了组件能正常启动相关的配置,我们直接启动即可,因为设置的是默认值,当一些业务情况需要更改配置默认值时,springboot也提供了解决方案,那就是提供配置文件让我们修改默认值,springboot会将配置文件中配置的属性值设置为组件相应的配置值。springboot文档也做了说明:

     Spring Boot lets you externalize your configuration so that you can work with the same application code in different environments. You can use properties files, YAML files, environment variables, and command-line arguments to externalize configuration. 

      这句话翻译为:springboot允许将配置外部化,可以使用属性文件、yaml文件、环境变量和命令行参数等方式来外部化配置修改默认值。

二、springboot提供配置文件的种类

     springboot提供两种文件格式的全局配置文件,并且文件名是固定的,均以“application”为文件名,这是springboot设计理念:约定优于配置,而两种文件格式分别是:

     1、application.properties

        这种文件格式的配置文件,在使用快速向导创建springboot应用的时候,默认就在resources目录下创建了,因此它是默认的全局配置文件,这种配置文件语法是“key=value”的形式;比如:

debug=true

spring.profiles.active=dev
spring.application.name: xxx
server.port=8080

spring.mvc.view.prefix=/templates/
spring.mvc.view.suffix=.ftl

logging.file=qingyun-api
logging.path=./logs/${spring.application.name}
logging.config=classpath:logback.xml
logging.level.xxx=DEBUG

    在配置文件中也可以自定义属性。

     2、application.yml

        这种配置文件是以YAML(YAML Ain’t Markup Language)语言的文件,文件语法使用空白,缩进,分行组织数据,yml文件采取树状结构,更加简洁易读,以数据为中心,比json、xml等更适合做配置文件。比如:

//具体写法如下
person:
  lastName: 张三
  age: 24
  boss: false
  birth: 1994/5/1

#  maps: {k1: v1,k2: v2}

  maps:
    k1: v1
    k2: v2

#  lists: [l1,l2,l3]

  lists:
    - l1
    - l2
    - l3
  dog:
    name: 蛋黄
    age: 2

三、两者配置文件的区别

     1.内容格式比较:

        properties文件语法是“key=value”的形式,对于复杂属性数据,是以“.”号连接层级关系的。结构上没有分层效果;而yml文件采用树状结构,结构上有明显的分层效果,语法是以"key:(空格)value"的形式,以空间的缩进来控制层级关系,只要是左对齐的一列数据,都是属性同一层级的。

     2.执行顺序:

       工程中同时存在application.properties文件和 application.yml文件,yml文件会先加载,而后加载的properties文件会覆盖yml文件。所以建议工程中,只使用其中一种类型的文件即可。

转载于:https://my.oschina.net/u/3872757/blog/3060860

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值