使用 Spring Boot 的yml配置文件读取方式
在 Java 项目中读取 YML(YAML)配置文件有多种方式,尤其在使用 Spring Framework(包括 Spring Boot)时,更是提供了丰富的支持。以下是几种常见的方式来读取 YML 配置文件:
1. 使用 Spring Boot 的自动配置
Spring Boot 提供了对 YML 文件的自动化支持,这也是最常用的方式。
1.1 使用 @Value 注解读取配置
你可以使用 @Value 注解读取 YML 文件中的单个配置属性。
application.yml
app:
name: MyApplication
description: This is a sample application.
Java类
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class AppConfig {
@Value("${app.name}")
private String appName;
@Value("${app.description}")
private String appDescription;
// Getters
public String getAppName() {
return appName;
}
public String getAppDescription() {
return appDescription;
}
}
1.2 使用 @ConfigurationProperties 注解读取配置
对于复杂或结构化的配置,推荐使用 @ConfigurationProperties 注解。
application.yml
app:
name: MyApplication
description: This is a sample application.
server:
port: 8080
host: localhost
Java类
java复制代码import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "app")
public class AppConfig {
private String name;
private String description;
private Server server;
public static class Server {
private int port;
private String host;
// Getters and Setters
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
}
// Getters and Setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Server getServer() {
return server;
}
public void setServer(Server server) {
this.server = server;
}
}
世界上没有什么事情是跑步解决不了的,如果有,那就再跑一会!