springboot配置文件:application.properties与`application.yml

🏆本文收录于「滚雪球学SpringBoot」专栏(全网一个名),手把手带你零基础入门Spring Boot,从入门到就业,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
环境说明:Windows 10 + IntelliJ IDEA 2021.3.2 + Jdk 1.8
前言 🤔
在Spring Boot中,配置文件是管理应用程序设置的核心方式。Spring Boot默认提供两种配置文件格式:application.properties
和application.yml
。这两者都能用来配置应用的各项设置,如数据库连接、服务器端口、日志设置等。选择使用哪一种格式,通常取决于个人或团队的喜好,或者项目的需求。今天,我们将深入探讨这两种配置文件的差异和如何使用它们。
目录 📋
application.properties
和application.yml
的基本介绍 📂- 配置文件的结构与语法 🔑
- 常见配置示例 💡
- 选择
application.properties
与application.yml
⚖️
1. application.properties
和application.yml
的基本介绍 📂
Spring Boot允许我们使用**application.properties
或application.yml
**来存储应用程序的配置。这两种格式都支持相同的配置选项,但语法和表现方式不同。
application.properties
:基于Java的属性文件格式,采用键=值的简单形式,适合快速的、简单的配置。application.yml
:基于YAML格式,更加结构化和可读,适合复杂的、层级化的配置,尤其是当需要定义多层配置或复杂的数据结构时更为直观。
application.properties
示例:
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password
application.yml
示例:
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
password: password
2. 配置文件的结构与语法 🔑
2.1 application.properties
的语法
application.properties
采用键=值对的格式,每个配置项占据一行。配置项没有层级结构,适用于简单的设置。
- 每个配置项在文件中一行。
- 使用
#
表示注释。 - 通过
=
或者:
分隔配置项的键和值。
示例:
# 设置服务器端口
server.port=8080
# 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password
2.2 application.yml
的语法
YAML(YAML Ain’t Markup Language)是一种数据序列化格式,用于表示配置文件。application.yml
通过缩进来表示层级关系,采用更具可读性的结构。
- 使用冒号(
:
)来分隔键和值。 - 使用缩进表示层级结构,通常使用两个空格进行缩进。
- 可以包含注释,注释以
#
开头。
示例:
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
password: password
在YAML文件中,层级关系通过缩进来表示,不同层级之间使用不同的缩进数量来区分。
2.3 选择性配置
在Spring Boot中,你可以根据不同的环境来使用不同的配置文件。例如,可以为开发环境、生产环境等配置不同的设置。
application.properties
application-dev.properties
(用于开发环境)application-prod.properties
(用于生产环境)
类似地,你也可以为不同环境创建不同的application.yml
配置文件:
application.yml
application-dev.yml
application-prod.yml
然后,在application.properties
或application.yml
中指定激活的配置文件。
在application.properties
中指定:
spring.profiles.active=dev
在application.yml
中指定:
spring:
profiles:
active: dev
通过这种方式,Spring Boot可以根据不同的环境加载不同的配置文件。
3. 常见配置示例 💡
无论是使用application.properties
还是application.yml
,Spring Boot支持许多常见的配置项。以下是一些常见配置项的示例。
3.1 数据库连接
application.properties
:
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
application.yml
:
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
password: password
driver-class-name: com.mysql.cj.jdbc.Driver
3.2 服务器配置
application.properties
:
server.port=8080
server.servlet.context-path=/myapp
application.yml
:
server:
port: 8080
servlet:
context-path: /myapp
3.3 JPA配置
application.properties
:
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
application.yml
:
spring:
jpa:
hibernate:
ddl-auto: update
show-sql: true
database-platform: org.hibernate.dialect.MySQL5Dialect
3.4 日志配置
application.properties
:
logging.level.org.springframework=INFO
logging.level.com.example=DEBUG
application.yml
:
logging:
level:
org.springframework: INFO
com.example: DEBUG
4. 选择application.properties
与application.yml
⚖️
4.1 使用application.properties
的优点
- 简洁性:
properties
文件格式相对简单,适合轻量级的配置。 - 易于编辑:对于小型项目或简单的配置文件,
properties
文件格式通常更直观。 - 广泛支持:
application.properties
是Spring Boot的默认配置文件格式,广泛应用于Spring项目中。
4.2 使用application.yml
的优点
- 可读性更强:YAML格式的缩进和层级结构使得配置更加清晰,特别是在复杂配置时更具可读性。
- 支持复杂数据结构:对于嵌套结构和数组类型的配置,
application.yml
比application.properties
更加简洁明了。 - 更适合大规模配置:在需要处理大量层次化配置时,YAML格式更加适用。
4.3 何时使用application.properties
或application.yml
- 对于简单的项目,或者配置内容不复杂时,
application.properties
可能更合适。 - 对于中大型项目,尤其是配置内容复杂或者涉及多层次配置时,
application.yml
更加清晰易读。
通常,选择哪种格式取决于团队的开发习惯和项目的复杂性。实际上,两种配置文件是可以并存的,在同一项目中,你可以选择使用.properties
或.yml
来管理不同的配置。
总结 🌟
Spring Boot支持两种主要的配置文件格式:application.properties
和application.yml
。application.properties
格式简单、直观,非常适合简单的配置;而application.yml
格式更加结构化、可读性强,适合处理复杂的、层级化的配置。选择哪种格式,取决于项目的复杂度以及团队的开发习惯。
希望通过本文的介绍,你能更好地理解这两种配置文件的用法,并根据实际需求选择适合的配置方式。🚀
🧧福利赠与你🧧
无论你是计算机专业的学生,还是对编程有兴趣的小伙伴,都建议直接毫无顾忌的学习此专栏「滚雪球学SpringBoot」专栏(全网一个名),bug菌郑重承诺,凡是学习此专栏的同学,均能获取到所需的知识和技能,全网最快速入门SpringBoot,就像滚雪球一样,越滚越大, 无边无际,指数级提升。
最后,如果这篇文章对你有所帮助,帮忙给作者来个一键三连,关注、点赞、收藏,您的支持就是我坚持写作最大的动力。
同时欢迎大家关注公众号:「猿圈奇妙屋」 ,以便学习更多同类型的技术文章,免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板、技术文章Markdown文档等海量资料。
✨️ Who am I?
我是bug菌(全网一个名),CSDN | 掘金 | InfoQ | 51CTO | 华为云 | 阿里云 | 腾讯云 等社区博客专家,C站博客之星Top30,华为云多年度十佳博主/价值贡献奖,掘金多年度人气作者Top40,掘金等各大社区平台签约作者,51CTO年度博主Top12,掘金/InfoQ/51CTO等社区优质创作者;全网粉丝合计 30w+;更多精彩福利点击这里;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试真题、4000G PDF电子书籍、简历模板等海量资料,你想要的我都有,关键是你不来拿。

-End-
- 点赞
- 收藏
- 关注作者
评论(0)