springBoot配置文件详解

一般项目中用到的spring boot的配置文件主要有以下两种:

1.properties文件

键值对的properties属性文件

2.Yml文件

 yml 是一种 yaml 格式的配置文件,主要采用一定的空格、换行等格式排版进行配置;

 yaml 是一种直观的能够被计算机识别的的数据序列化格式,容易被人类阅读,yaml 类似于 xml,但是语法比 xml 简洁很多;

值与前面的冒号配置项必须要有一个空格;

 yml 后缀也可以使用 yaml 后缀;

3.配置文件读取优先级

properties优先级>yml,如果项目中既有application.properties文件又有application.yml文件,

application.properties文件配置如下 

application.yml配置如下: 

这时启动工程观察日志发现

,说明properties文件的优先级大于yml文件的优先级

4. 多环境配置

spring Boot中,多环境配置文件的文件名需要满足 application-{profile}.properties/.yml的格式,其中{profile}对应环境标识,如下所示:

application-dev.properties 开发环境

application-test.properties 测试环境

application-prod.properties 生产环境

#比如配置测试环境 

application.properties如下:

 server.port=9000

spring.profiles.active=dev

application-dev.properties配置如下

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/transfer-demo?useUnicode=true&c haracterEncoding=utf8&useSSL=false

通用的配置信息在application.yml或者.properties配置文件中,环境独有的配置信息配置到各个环境对应的yml或properties配置文件中,把server.port=9000公共文件配置到application.properties主配置文件中,各环境对应的数据库信息配置到不同的环境配置文件.

生产环境也是如此

#比如配置生产环境

spring.profiles.active=product

application-product.properties

Application.yml配置文件

server:

  port: 9000

spring:

  profiles:

    active:

    - dev

Application-dev.yml

server:

  port: 9761

 启动日志分析:

可以看到虽然application.yml中配置了server的端口,但是由于指定了spring.profiles.active=dev,服务启动端口变成了9761,可见,spring.profiles.active的优先级比直接在application.yml中的高

 

posted @ 2019-01-17 11:04  Nullpointer_dxy  阅读(448)  评论(0编辑  收藏  举报