application.properties 切换到 application.yml

本文探讨了YML和Properties文件在Spring Boot项目中的使用与优先级问题。揭示了直接修改application.properties后缀为yml可能导致的问题及解决办法,包括执行maven清理安装和依赖配置。同时对比了两种配置方式的特性。

yml文件的好处,天然的树状结构。配置起来和使用起来比较方便。

但是你直接去修改 application.properties 后缀名  修改yml 你会发现你的代码跑不起来。

会报标签找不到的情况。

上网查完资料后发现 需要 先删除 application.properties 文件后,执行 maven -X clean install

执行maven -X clean install 吧

 

application.yml 和 application.properties 两个文件的优先级

application.properties > application.yml

如果你的项目中存在 application.properties 文件,
那么 application.yml 文件就只是一个摆设。

然后我们来看看他们两个的区别吧

application.properties

application.yml 

如果没有生效,请在 pom中添加一下配置

 

<dependency>
    <groupId>org.yaml</groupId>
    <artifactId>snakeyaml</artifactId>
    <version>${snakeyaml.version}</version>
</dependency>

key后面的冒号,后面一定要跟一个空格 我被这个啃了一会儿。

在 Spring Boot 中,`application.yml` 和 `application.properties` 是两种常见的配置文件格式,它们在功能上是等价的,但在语法、结构和可读性等方面存在显著区别。 ### 语法和结构 `application.properties` 采用键值对的形式,每行一个属性,使用点号(`.`)表示层级关系。例如: ```properties server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/mydb ``` 而 `application.yml` 使用缩进的方式来表示层级结构,支持更复杂的嵌套结构,语法更为简洁直观。例如: ```yaml server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/mydb ``` YAML 格式更适合表达多层嵌套的配置,使得配置信息更加清晰易读[^2]。 ### 可读性和维护性 由于 YAML 支持多层级的结构,因此在处理复杂配置时,`application.yml` 比 `application.properties` 更具优势。例如,在配置多个数据源或多个环境(如开发、测试、生产)时,YAML 的结构化特性可以显著提升可读性和维护性。而 `application.properties` 在处理简单配置时较为直观,但随着配置项增多,其可读性会逐渐下降[^2]。 ### 功能支持 Spring Boot 对两种格式的支持是完全一致的,无论是 `application.properties` 还是 `application.yml`,都可以实现相同的功能,如配置服务器端口、数据库连接、日志级别等。此外,Spring Boot 还支持通过 `@Value`、`@ConfigurationProperties` 等注解将配置文件中的属性注入到代码中。 ### 使用场景 对于小型项目或简单的配置需求,`application.properties` 是一个轻量且易于上手的选择;而对于大型项目或需要复杂配置的场景,`application.yml` 更加适合,尤其是在需要多层级结构的情况下。此外,`application.yml` 还支持列表和集合等数据结构,适合配置数组类型的属性,例如: ```yaml myapp: features: - feature1 - feature2 ``` 这种结构在 `application.properties` 中需要通过多个键来表示,不够直观[^2]。 ### 总结 | 特性 | `application.properties` | `application.yml` | |---------------------|--------------------------|--------------------------| | 语法结构 | 键值对 | 缩进层级 | | 可读性 | 简单配置易读 | 复杂配置更易读 | | 支持的数据结构 | 基本类型 | 支持列表、集合等复杂结构 | | 适用场景 | 小型项目、简单配置 | 大型项目、复杂配置 | 在实际开发中,选择哪种格式主要取决于项目的复杂度和个人或团队的偏好。如果需要配置的属性较少且结构简单,`application.properties` 是一个不错的选择;如果需要处理复杂的嵌套结构或多环境配置,`application.yml` 则更为合适。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值