Spring boot 配置文件

一,springboot配置文件是什么

springboot定义了配置文件的格式,也规范了其他框架集成到spingboot的目的。

很多项目的配置信息也放在这里,就比如:

项目的启动端口(就比如8080,如果被占用,就可以在这里修改端口号。)

数据库的连接信息

第三方的调用密钥

一些普通日志或者异常日志

其实在spring boot创建项目的时候,就自动创建了配置文件。就是这个

二,配置文件的格式

总共有三种:

application.properties

application.yml

application.yaml

第一种就是上面的 ,yml是yaml简写,这边就只说yml就行了。

两个是理论可以共存在一个项目,如果两个有冲突,则以.properties为主,也就是这个优先级更高。但一般开发是不会的,可以降低故障率。

三,properties配置文件说明

3.1基本用法

以键值对的方式配置,key和value是以=连接的,如:

java 复制代码
# 配置项⽬端⼝号 
server.port=8080
#配置数据库连接信息 
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8&
spring.datasource.username=root
spring.datasource.password=root

3.2properties缺点分析

从上面的代码中可以看出,这个有很多的冗余,就比如这一块

这个缺点在这里无法避免,只能通过yml来实现。

四,yml配置文件说明

yml是YAML是缩写,它的全称Yet Another Markup Language翻译成中⽂就是"另⼀种标记语⾔。

4.1基本用法

yml是树形结构的配置文件,基础语法为key:value。要记住,空格不能省略。

也能看出来配置正确的时候key是亮起来的。

4.1.1使用yml连接数据库

java 复制代码
spring:
  datasource:
     url: jdbc:mysql://127.0.0.0:3306/dbname?characterEncoding=utf8&useSSL=false
     username: root
     password: root

也能看出来没有上面的冗余现象了,也简便了很多。

4.2yml使用进阶

yml配置不同数据及null

java 复制代码
# 字符串 
string.value: Hello
# 布尔值,true或false 
boolean.value: true
boolean.value1: false
# 整数 
int.value: 10
# 浮点数 
float.value: 3.14159
# Null,~代表null 
null.value: ~
# "" 空字符串 
#, 直接后⾯什么都不加就可以了, 但这种⽅式不直观, 更多的表⽰是使⽤引号括起来 
empty.value: ''

4.3yml优缺点

优:可读性高,写法简单,易于理解,支持多种数据类型和编程语言

缺:不适合写复杂文件 ,对格式要求很严格(一个空格就要老命)。

五,总结

properties使用key=value的形式配置键类型的配置文件,而yml使用的是树形结构来配置

yml层级之间使⽤换⾏缩进的⽅式配置,key和value,之间使⽤": "(英⽂冒号)加空格的⽅式设置,并且空格不可省略。

properties是早期默认的配置文件格式,其配置存在一定的冗余,使用yml可以很好解决这些问题。

yml和properties可以共存,但建议只使用一种,可以降低故障率。

相关推荐
残花月伴10 分钟前
springCloud/Alibaba常用中间件之Setinel实现熔断降级
spring·spring cloud·中间件
Warren9841 分钟前
Java面试八股Spring篇(4500字)
java·开发语言·spring boot·后端·spring·面试
晚秋大魔王1 小时前
OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——gnutls
java·开发语言
胡子发芽1 小时前
面试题:请解释Java中的垃圾回收机制(Garbage Collection, GC),并讨论不同的垃圾回收算法及其优缺点
java·jvm
下雨天u1 小时前
maven dependencyManagement标签作用
java·数据库·maven
顾子茵1 小时前
c++从入门到精通(四)--动态内存,模板与泛型编程
java·开发语言·c++
码农飞哥2 小时前
互联网大厂Java求职面试实战:Spring Boot到微服务全景解析
java·spring boot·微服务·maven·hibernate·技术栈·面试技巧
bing_1582 小时前
Spring MVC 根据请求头 (如 Accept) 怎么返回 JSON 或 XML 数据?
spring·json·mvc
IT成长史2 小时前
deepseek梳理java高级开发工程师springboot面试题2
java·spring boot·后端
爱刘温柔的小猪2 小时前
Redis+Caffeine构造多级缓存
redis·spring·缓存