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
文件中的配置值。