Spring Boot使用Spring Framework的配置抽象,并且引入了一个新的文件格式YAML(YAML Ain't Markup Language)来替代传统的properties文件。YAML是一种人类可读和编写的数据序列化格式,它通常用于配置文件。
以下是Spring Boot中使用YAML配置的一些基本概念和示例:
配置属性的层次结构:
YAML允许你创建分层配置,这使得配置文件更加易读和易于维护。
server:
port: 8080
servlet:
context-path: /myapp
使用Spring Expression Language (SpEL):
你可以在YAML配置中使用SpEL来引用Beans或者进行复杂的配置。
my:
user: ${random.value}
servers: ${random.int(1,5)}
列表和数组:
YAML可以表示列表和数组,可以使用
-
开头的行来表示数组或列表中的元素。
fruits:
- Apple
- Banana
- Cherry
加载配置:
在Spring Boot应用中,可以使用
@Value
注解或者配置绑定的方式来加载YAML配置。
@Component
@ConfigurationProperties(prefix="my")
public class MyProperties {
private String user;
private int servers;
// getters and setters
}
引入外部配置:
可以使用profiles或者Spring的环境抽象来引入外部配置文件。
spring:
profiles: dev
server:
port: 8080
---
spring:
profiles: prod
server:
port: 80
运行应用程序时,可以使用--spring.profiles.active=dev
来激活开发环境配置。
以上是Spring Boot中YAML配置的基本概念和示例,实际应用中可以根据具体需求进行更复杂的配置。