10 Spring Boot配置之配置文件的多种形式

在上一篇教程中,我们深入探讨了如何使用 application.properties 文件来配置 Spring Boot 应用。在本篇中,我们将研究 Spring Boot 支持的多种配置文件形式,帮助你更灵活地管理配置。

1. 使用 application.yml 文件

除了 application.properties 之外,Spring Boot 还支持使用 YAML 格式的配置文件,这种格式更为简洁且易于阅读。我们可以创建一个 application.yml 文件,内容示例如下:

1
2
3
4
5
6
7
server:
port: 8081
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
password: password

1.1. YAML 属性

YAML 文件通过缩进来表示层级关系,相比于 application.properties,它可以让你更直观地管理复杂的属性。如果你想要覆盖 application.properties 中的配置,只需要在 application.yml 中进行修改即可。

2. 分环境配置

Spring Boot支持多种环境配置,你可以为不同的环境创建不同的配置文件。比如,针对开发、测试和生产环境,可以创建以下文件:

  • application-dev.yml
  • application-test.yml
  • application-prod.yml

当你启动应用时,可以通过 spring.profiles.active 属性指定当前使用的环境。例如,命令行启动:

1
java -jar yourapp.jar --spring.profiles.active=dev

这样,Spring Boot 会优先加载对应环境的配置文件。

3. 使用 application.propertiesapplication.yml 的优先级

在 Spring Boot 中,配置文件具有一定的加载优先级,这确保你可以灵活地复写配置。以下是优先级列表:

  1. application-{profile}.yml / application-{profile}.properties
  2. application.yml / application.properties
  3. application-{profile}.json / application-{profile}.xml
  4. application.json / application.xml

例如,若 application-dev.ymlapplication.yml 中都存在同一属性,应用启动时将以 application-dev.yml 中的值为准。

4. 使用 @Value 注解读取配置

在项目中,你可以通过 @Value 注解轻松读取配置中的属性。例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class AppConfig {

@Value("${server.port}")
private int serverPort;

public void printConfig() {
System.out.println("Server is running on port: " + serverPort);
}
}

在构造 AppConfig 组件时,Spring Boot 会自动将配置文件中的 server.port 值注入到 serverPort 字段中。

5. 外部配置文件

除了在 src/main/resources 中配置文件外,Spring Boot 还支持将配置文件放在外部路径。你可以通过以下方式指定外部配置文件:

1
java -jar yourapp.jar --spring.config.location=file:/path/to/config/

这样,Spring Boot 在启动时会加载指定路径下的配置文件。

6. 总结

在本节中,我们探讨了 Spring Boot 支持的多种配置文件格式及其优先级、环境配置以及如何在代码中使用这些配置。通过合理利用这些配置方式,你可以使你的 Spring Boot 应用更加灵活和易于管理。

接下来,我们将进入下一个主题:Spring Boot依赖管理之Maven依赖管理,了解如何使用 Maven 管理 Spring Boot 应用的依赖关系。

10 Spring Boot配置之配置文件的多种形式

https://zglg.work/spring-boot-zero/10/

作者

IT教程网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论