IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> application.properties 和application.yml -> 正文阅读

[Java知识库]application.properties 和application.yml

关于YAML配置


YAML是一种编写配置文件的语法,表现为使用.yml作为扩展名的配置文件,Spring框架默认并不支持此类配置文件,而Spring Boot的基础依赖项中已经包含解析此类文件的依赖项,所以,在Spring Boot项目可以直接使用此类配置文件。

在Springboot项目中,使用.properties和.yml配置是等效的,均可以正常识别并使用.

在YAML语法中,其典型的特征是

  • 如果属性名中有小数点,则可以改为冒号,并且,冒号的右侧应该换行且缩进2个空格
    • 在IntelliJ IDEA中编辑YAML语法的配置时,会自动将按下的TAB键的内容转换成2个空格
  • 如果多个属性名称中有相同的部分,不必(也不可)重复配置,只需要保持正确的缩进即可
  • 属性名与属性值之间使用1个冒号和1个空格进行分隔
  • 对于纯数值类型的属性值,可能需要使用双引号框住
  • 也能识别例如xx.xx.xx这类属性名

例如在.properties中配置为

spring.datasource.username=root
spring.datasource.password=root

在.yml中则配置为

spring:
  datasource:
    username: root
    password: root

当然.yml也可以使用xx.xx.xx.所有也能像在.properties中那样配置

注意:YAML的解析相对更加严格,如果在此类配置文件中出现了错误的语法,甚至只是一些不应该出现的字符,都会导致解析失败!并且,如果直接复制粘贴整个文件,还可能出现乱码问题!

关于配置Profile配置

同一个项目,在不同的环境中(例如开发环境,测试环境,生成环境),需要的配置值可能是不一样的,例如日志的显示级别,连接数据库的配置参数等,如果把同一个配置文件的多个属性的值反复修改是不现实的.

Spring框架提供了Profile配置机制,在Spring Boot中更是简化了此项操作,它允许使用
application_自定义名称.properties作为Profile配置文件的文件名,这类配置文件默认是不加载的!

例如,在application.properties的同级别路径下创建applicaton-dev.properties,添加配置如下

# 此配置文件是【开发环境】的配置 #
#  此配置文件需要被激活才会生效 #
# ######################## #

# 连接数据库的配置参数
spring.datasource.url=jdbc:mysql://localhost:3306/mall_pms?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root

# 日志的显示级别
logging.level.cn.tedu.csmall=trace

这种配置默认是被加载的,需要激活才能使用,在application.properties中,根据以上配置文件的名称(application-dev.properties)来激活配置文件

# 激活Profile配置
spring.profiles.active=dev

我们的application.properties是始终加载的配置,而applicaton-自定义名称.properties是必须激活才会加载的配置

?

如果application.properties与被激活的Profile配置中存在同名的属性,配置值却不相同时,在执行时候,将以为Profile配置为准!

上面的Profile在.yml配置中同样适用

?在application.yml中激活配置

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 11:40:47  更:2022-10-31 11:46:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 8:02:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码