Spring Boot使用YAML
(YAML Ain’t Markup Language)作为配置文件的格式,通过spring-boot-starter
模块内置的spring-boot-configuration-processor
模块来解析YAML
文件。
在Spring Boot
应用中,可以通过@ConfigurationProperties
注解将YAML
文件中的配置映射到Java
对象中。例如:
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "myapp")
public class MyAppProperties {
private String name;
private int port;
// getters and setters
}
在application.yml
中配置:
myapp:
name: MyApp
port: 8080
然后在Spring
组件中注入MyAppProperties
对象即可获取配置值。
另外,Spring Boot
还提供了@Value
注解来从YAML
文件中获取单个配置值。例如:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class MyComponent {
@Value("${myapp.name}")
private String appName;
@Value("${myapp.port}")
private int appPort;
// getters and setters
}
这样就可以通过@Value
注解直接获取YAML
文件中的配置值。