代码编织梦想

Spring框架允许使用Profile配置,即某些“个性化配置文件”,这些配置文件默认并不会被应用,需要“激活”后才生效!

在Spring Boot项目中,简化了Profile配置的使用:

  • 以application.properties作为文件名的,是主配置文件,是始终被应用的

  • 以application-自定义名称.properties作为文件名的,是Profile配置,需要“激活”才会生效

  • 在application.properties中,通过 spring.profiles.active 属性来设置需要激活的Profile配置,此属性的值是Profile配置文件的文件名中“自定义名称”部分,如果需要激活多个配置,则各值使用逗号分隔即可

  • 如果在application.properties和某个激活的Profile配置中,存在相同属性的配置,但值并不同,以Profile配置中的配置值为准

  • 如果同时激活了多个Profile配置,且这些Profile配置中存在相同属性的配置,但值并不同,以spring.profiles.active值中后面的Profile配置为准

例如:application.properties

# 激活某些Profile配置
spring.profiles.active=dev
# 使用Mybatis时,配置SQL语句的XML文件的位置
mybatis.mapper-locations=classpath:mapper/*.xml

application-dev.properties

# 当前文件中的是【开发环境】的配置 
# 连接数据库的配置
spring.datasource.url=jdbc:mysql://localhost:3306/mall_pms?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Chongqing
spring.datasource.username=root
spring.datasource.password=root
#日志的显示级别
logging.level.com.zsw=trace

application-prod.properties

# 当前文件中的是【生产环境】的配置
# 连接数据库的配置
spring.datasource.url=jdbc:mysql://db.aliyun.com:3306/mall_pms?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Chongqing
spring.datasource.username=prod
spring.datasource.password=P@ssw0rd
# 日志的显示级别
logging.level.com.zsw=warn

在Spring Boot项目中,还可以使用YAML配置文件,这是一种使用.yml作为扩展名的配置文件。

YAML的语法格式表现为:

  • 如果属性名中有小数点,可以将小数点改为冒号,并换行,每换一行缩进2个空格

  • 注意:必须是2个空格,不可以是其它符号,例如不可以是TAB制表位

  • 提示:在IntelliJ IDEA中,编辑.yml文件时,按下的TAB键会被自动处理为2个空格

  • 属性名与属性值之间,使用1个冒号和1个空格进行分隔(必须)

  • 如果多个属性名有相同的部分,不必反复编写相同的部分,只要不同的部分保持相同的缩进即可

  • 即使原属性名中是小数点的部分,没有替换为冒号加换行,也并不影响正常运行

例如:

spring:
  datasource:
    username: root
    password: root

将原application.properties改为application.yml:

# 激活某些Profile配置
spring:
  profiles:
    active: dev
# 使用Mybatis时,配置SQL语句的XML文件的位置
mybatis:
  mapper-locations: classpath:mapper/*.xml

将原application-dev.properties改为application-dev.yml:

# 当前文件中的是【开发环境】的配置
# 连接数据库的配置
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mall_pms?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Chongqing
    username: root
    password: root
# 日志的显示级别
logging:
  level:
    com.zsw: trace

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43297569/article/details/129630838

配置文件详解:properties和yaml_凌枫zero的博客-爱代码爱编程

一.配置文件的生效顺序,会对值进行覆盖: 1. @TestPropertySource 注解 2. 命令行参数 3. Java系统属性(System.getProperties()) 4. 操作系统环境变量 5. 只有在random.*里包含的属性会产生一个RandomValuePropertySource 在properties文件中设置随机

SpringBoot——SpringBoot配置文件、yaml语法、JSR303校验、多环境切换Profile-爱代码爱编程

目录 一、SpringBoot配置文件二、yaml概述 1、基本语法2、值的写法三、配置文件值注入 1、yaml注入配置文件2、Springboot 之 @EnableConfigurationProperties 注解四、@Value获取值和@ConfigurationProperties获取值比较 1、配置文件注入值数据校验 2、@

SpringBoot YAML与profile配置-爱代码爱编程

SpringBoot YAML与profile配置 1、YAML配置(.yaml,.yml)与properties 2、YAML配置是有序的,properties是无序的 3、自定义的YAML目前暂时不支持使用注解直接注入到SpringBoot项目中 一、在SpringBoot中YAML也是可以使用类型安全的属性注入 1、首先去新建两个实体类,这

java项目中俩个配置文件_细数Java项目中用过的配置文件(YAML篇)-爱代码爱编程

YAML,在项目中用过没?它与 properties 文件啥区别? 目前 SpringBoot、SpringCloud、Docker等各大项目、各大组件,在使用过程中几乎都能看到YAML文件的身影。 2017 年的时候,我才真正把 YAML 文件用到负责的项目中,当时用 YAML 文件主要是为 Sharding-JDBC 配置数据源以及分库分表的规

yaml配置文件的读和写-爱代码爱编程

yaml配置文件的读和写 1、安装PyYAML 2、建一个空的yaml文件   数据如下: - a: 5 b: 2 c: 3 - a: 8 b: 2 c: 6 3、打开yaml文件,读取yaml文件数据 import pytest import allure import yaml from core.ca

YAML配置-爱代码爱编程

目录 YAML配置属性注入和get和set方法的联系Profile问题 YAML配置 YAML和properties类似,不过是格式方面有一些改变,其他的改变不大,我们来写例子看一下,首先写两个实体类: Autor: @Component @ConfigurationProperties(prefix = "autor") public c

SpringBoot-yaml配置文件-爱代码爱编程

1 yaml语法学习 配置文件 SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的 application.properties 语法结构 :key=value application.yml 语法结构 :key:空格 value配置文件的作用 :修改SpringBoot自动配置的默认值,因为SpringBoot在底层

springboot注解结合yaml文件配置_m0_58680865的博客-爱代码爱编程

首先写两个实体类: Writer类: import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component @ConfigurationPropert

【一文秒懂——yaml配置文件】_居然天上楼的博客-爱代码爱编程

目录 1. YAML配置文件 2. 实例 2.1 将原application.properties改为application.yml: 2.2 将原application-dev.properties改为application-dev.yml: 1. YAML配置文件 在Spring Boot项目中,还可以使用YAML配置文件,这是一种使