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

举报
bug菌 发表于 2025/06/05 11:54:16 2025/06/05
【摘要】 🏆 本文精选收录于《滚雪球学SpringBoot》专栏,专为零基础学习者量身打造。从Spring基础到项目实战,手把手带你掌握核心技术,助力你快速提升,迈向职场巅峰,开启财富自由之路🚀!无论你是刚入门的小白,还是已有基础的开发者,都能在这里找到适合自己的学习路径!    🌟 关注、收藏、订阅,持续更新中!和我们一起高速成长,突破自我!💡

🏆本文收录于「滚雪球学SpringBoot」专栏(全网一个名),手把手带你零基础入门Spring Boot,从入门到就业,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

环境说明:Windows 10 + IntelliJ IDEA 2021.3.2 + Jdk 1.8

前言 🤔

在Spring Boot中,配置文件是管理应用程序设置的核心方式。Spring Boot默认提供两种配置文件格式:application.propertiesapplication.yml。这两者都能用来配置应用的各项设置,如数据库连接、服务器端口、日志设置等。选择使用哪一种格式,通常取决于个人或团队的喜好,或者项目的需求。今天,我们将深入探讨这两种配置文件的差异和如何使用它们。


目录 📋

  1. application.propertiesapplication.yml的基本介绍 📂
  2. 配置文件的结构与语法 🔑
  3. 常见配置示例 💡
  4. 选择application.propertiesapplication.yml ⚖️

1. application.propertiesapplication.yml的基本介绍 📂

Spring Boot允许我们使用**application.propertiesapplication.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.propertiesapplication.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.propertiesapplication.yml ⚖️

4.1 使用application.properties的优点

  • 简洁性properties文件格式相对简单,适合轻量级的配置。
  • 易于编辑:对于小型项目或简单的配置文件,properties文件格式通常更直观。
  • 广泛支持application.properties是Spring Boot的默认配置文件格式,广泛应用于Spring项目中。

4.2 使用application.yml的优点

  • 可读性更强:YAML格式的缩进和层级结构使得配置更加清晰,特别是在复杂配置时更具可读性。
  • 支持复杂数据结构:对于嵌套结构和数组类型的配置,application.ymlapplication.properties更加简洁明了。
  • 更适合大规模配置:在需要处理大量层次化配置时,YAML格式更加适用。

4.3 何时使用application.propertiesapplication.yml

  • 对于简单的项目,或者配置内容不复杂时,application.properties可能更合适。
  • 对于中大型项目,尤其是配置内容复杂或者涉及多层次配置时,application.yml更加清晰易读。

通常,选择哪种格式取决于团队的开发习惯和项目的复杂性。实际上,两种配置文件是可以并存的,在同一项目中,你可以选择使用.properties.yml来管理不同的配置。


总结 🌟

Spring Boot支持两种主要的配置文件格式:application.propertiesapplication.ymlapplication.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-

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。