Springboot 读取自定义yml 集合数据
1、通过启动类将自定义yml加载至spring容器
1、filter.yml
filter:
nameList:
张三,
李四,
王五
2、springboot启动类
import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.core.io.ClassPathResource;
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
@Bean
public static PropertySourcesPlaceholderConfigurer properties() {
//PropertySourcesPlaceholderConfigurer 引入外部属性文件
PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
//读取自定义配置的yml文件
YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
//多个
//yaml.setResources(new ClassPathResource("filter.yml"),new ClassPathResource(""));
//单个
yaml.setResources(new ClassPathResource("filter.yml"));
configurer.setProperties(yaml.getObject());
return configurer;
}
}
3、新建FilterConfig
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import java.util.List;
@Data
@Configuration
@ConfigurationProperties(prefix = “filter”)
public class FilterConfig {
public List<String> nameList;
}
4、测试
import com.zsh.test.config.FilterConfig;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class TestApplicationTests {
@Autowired
public FilterConfig filterConfig;
@Test
void contextLoads() {
filterConfig.getNameList().forEach(name-> System.out.println(name));
}
}
文章讲述了如何在Springboot应用中读取并使用自定义的yml配置文件。首先通过启动类将filter.yml加载到Spring容器,然后利用YamlPropertiesFactoryBean读取文件内容。接着,创建FilterConfig类,使用@ConfigurationProperties注解绑定配置。最后,通过单元测试验证配置的加载和使用。
9130





