@PropertySource加载yml

1、yml文件通常是 application.yml

当我们需要新的yml文件时,新建一个yml文件 response.yml

response:
  name: 张三

2、启动类新加

@PropertySource(value = {"classpath:response.yml"}, encoding = "utf-8", factory = ResponseFactory.class)

3、新增工厂类

public class ResponseFactory extends DefaultPropertySourceFactory {

    @Override
    public PropertySource createPropertySource(String name, EncodedResource resource) throws IOException {
        if (resource == null){
            return super.createPropertySource(name, resource);
        }
        List> sources = new YamlPropertySourceLoader().load(resource.getResource().getFilename(), resource.getResource());
        return sources.get(0);
    }
}

4、新建Response类

@Component
@Data
public class Response {

    @Value("${response.name}")
    private String name;
}

5、测试

@Test
public void test() {
    try{
        System.out.println("666555:"+response.getName());
    } catch (Exception e) {

    }

}

控制台:666555:张三

你可能感兴趣的:(SpringBoot,SpringBoot注解)