Erstellen Sie die Datei my.yaml unter „-“, um den Array-Typ anzugeben. Achten Sie auf die Leerzeichen.
my: contents: - id: 12121 name: nadasd - id: 3333 name: vfffff
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; } }
import org.springframework.boot.env.YamlPropertySourceLoader; import org.springframework.core.env.PropertySource; import org.springframework.core.io.support.EncodedResource; import org.springframework.core.io.support.PropertySourceFactory; import java.io.IOException; import java.util.List; import java.util.Optional; public class YamlPropertiesSourceFactory implements PropertySourceFactory { @Override public PropertySource<?> createPropertySource(String name, EncodedResource resource) throws IOException { String resourceName = Optional.ofNullable(name).orElse(resource.getResource().getFilename()); List<PropertySource<?>> yamlSources = new YamlPropertySourceLoader().load(resourceName, resource.getResource()); return yamlSources.get(0); } }
Das obige ist der detaillierte Inhalt vonSo geben Sie die Yaml-Konfigurationsdatei für die SpringBoot-Analyse an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!