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

相关推荐
qmx_077 分钟前
HTB-Jerry(tomcat war文件、msfvenom)
java·web安全·网络安全·tomcat
为风而战15 分钟前
IIS+Ngnix+Tomcat 部署网站 用IIS实现反向代理
java·tomcat
技术无疆2 小时前
快速开发与维护:探索 AndroidAnnotations
android·java·android studio·android-studio·androidx·代码注入
罗政5 小时前
[附源码]超简洁个人博客网站搭建+SpringBoot+Vue前后端分离
vue.js·spring boot·后端
架构文摘JGWZ5 小时前
Java 23 的12 个新特性!!
java·开发语言·学习
拾光师6 小时前
spring获取当前request
java·后端·spring
aPurpleBerry6 小时前
neo4j安装启动教程+对应的jdk配置
java·neo4j
我是苏苏6 小时前
Web开发:ABP框架2——入门级别的增删改查Demo
java·开发语言
xujinwei_gingko6 小时前
Spring IOC容器Bean对象管理-Java Config方式
java·spring
2301_789985946 小时前
Java语言程序设计基础篇_编程练习题*18.29(某个目录下的文件数目)
java·开发语言·学习