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可以共存,但建议只使用一种,可以降低故障率。

相关推荐
一代明君Kevin学长2 分钟前
快速自定义一个带进度监控的文件资源类
java·前端·后端·python·文件上传·文件服务·文件流
未来之窗软件服务4 分钟前
幽冥大陆(四十九)PHP打造Java的Jar实践——东方仙盟筑基期
java·php·jar·仙盟创梦ide·东方仙盟·东方仙盟sdk·东方仙盟一体化
普通网友10 分钟前
深入探讨Linux驱动开发:字符设备驱动开发与测试_linux 驱动开发设备号(2)
java·linux·驱动开发
4Forsee12 分钟前
【Android】动态操作 Window 的背后机制
android·java·前端
小二李21 分钟前
第12章 koa框架重构篇 - Koa框架项目重构
java·前端·重构
cike_y24 分钟前
JavaBean&MVC三层架构
java·架构·mvc·javaweb·java开发
漂亮的小碎步丶29 分钟前
【启】Java中高级开发51天闭关冲刺计划(聚焦运营商/ToB领域)
java·开发语言
哈哈老师啊40 分钟前
Springboot简单二手车网站qs5ed(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
SadSunset42 分钟前
(19)Bean的循环依赖问题
java·开发语言·前端
⑩-43 分钟前
Java自定义业务异常类
java