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配置的基本概念和示例,实际应用中可以根据具体需求进行更复杂的配置。