SpringBoot 使用 @Value 从 YAML文件读取属性

来源:互联网 发布:c语言技术 编辑:程序博客网 时间:2024/06/03 23:38

在application.yaml中这样配置

smartTalk:   qa_url: https://nlsapi.aliyun.com/qas  qa_manage_url: https://nlsapi.aliyun.com/manage/qas

这个要注意的是 配置后面的 : 是要加空格的,这样spring boot 才能识别


在 类中这样获取


@Componentpublic class ApiClient {    @Value("${smartTalk.qa_manage_url}")    private String   qa_manage_url;    @Value("${smartTalk.access_key_id}")    private String access_key_id;    @Value("${smartTalk.access_key_secret}")    private String access_key_secret;    public String sendRequest(ApiRequest request) {        String url = qa_manage_url + "?action=" + request.getAction();        return HttpProxy.sendRequest(url, request.getBody(), access_key_id, access_key_secret);    }}


但是要注意使用@Value的类如果被其他类作为对象引用,必须要使用注入的方式,而不能new