리소스 아래에 my.yaml 파일을 만듭니다. "-"는 배열 유형을 나타내는 데 사용됩니다. 공백에 주의하세요.
my: contents: - id: 12121 name: nadasd - id: 3333 name: vfffff
구성 클래스 개체를 만들고 @Component, @PropertySource 및 @ConfigurationProperties 주석을 클래스에 추가합니다.
@Component는 클래스를 스프링 관리에 넘겨주고, @PropertySource는 구성 파일을 지정하고 Yaml 형식을 구문 분석하는 데 사용되며, @ConfigurationProperties는 구문 분석된 구성 파일 속성을 클래스의 속성에 자동으로 삽입하는 데 사용됩니다.
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; @Component @PropertySource(value = "classpath:my.yaml", factory = YamlPropertiesSourceFactory.class) @ConfigurationProperties(prefix = "my") public class MyProperties { private List<content> contents = new ArrayList<>(); public List<content> getContents() { return contents; } public void setContents(List<content> contents) { this.contents = contents; } } class content { private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
@PropertySource 주석은 Spring에서 구성 파일을 로드하는 데 사용됩니다. @PropertySource 속성은 다음과 같습니다.
name: 기본적으로 비어 있고 지정되지 않은 경우 Spring에서 자동으로 생성됨
value: 구성 파일
ignoreResourceNotFound: 찾을 수 없음 구성 파일을 무시할지 여부, 기본값은 false이며 버전 4.0에 추가됨
encoding: 구성 파일 인코딩 형식, 기본 UTF-8이 버전 4.3에 추가됨
factory: 구성 파일 구문 분석 팩토리, 기본값: PropertySourceFactory.class는 버전 4.3에 추가되었습니다. 이전 버전인 경우 구성 파일 구문 분석 Bean을 수동으로 삽입해야 합니다.
Spring Boot는 기본적으로 yaml 파일을 읽기 위해 @PropertySource를 지원하지 않습니다. 그리고 구문 분석을 위해 PropertySourceFactory를 사용자 정의해야 합니다.
Yaml 형식의 파일을 구문 분석하는 YamlPropertiesSourceFactory 클래스를 만듭니다.
아아아아위 내용은 SpringBoot 구문 분석을 위한 Yaml 구성 파일을 지정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!