springBoot 读取配置文件yml中的信息

yml中自定义一些变量

var:
  analyze_url: test
  ocr_url: test
  microsoft_key: test

映射到类变量中

@Getter
@Component
public class varModel {
    @Value("${var.analyze_url}")
    private String analyze_url;
    @Value("${var.ocr_url}")
    private String ocr_url;
    @Value("${var.microsoft_key}")
    private String microsoft_key;
}//end

调用方式

注入

    @Autowired
    varModel varModel_;

通过  varModel_ 调用

yaml 语法中 双引号和单引号是不一样的,如

name: "zhangsan list"  获取的值为 zhangsan 换行 list

name : 'zhangsan list'  获取的值为zhangsan list

也就是说双引号中的特殊字符还是表示其原来的意思,单引号中的特殊字符就只是一个特殊字符。

yml 根据类直接注入

写一个varModel 类将里面的属性全部注入进去

@Component
@ConfigurationProperties(prefix = "var-model")
@Getter
@Setter
public class varModel {
    private String name;
    private Map<String,String> mapList;
    private List<String> listStr;
}//end

yml 第一层命名规范,小写字母加短横杠

varModel类中出现这个错误

官方解决办法

<dependency>
            <groupId> org.springframework.boot </groupId>
            <artifactId> spring-boot-configuration-processor </artifactId>
            <optional> true </optional>
        </dependency>

 yml中的另一个用法

使用${} 语法获取yml中其他数据。


欢迎指正:haizi2014@qq.com
原文地址:https://www.cnblogs.com/hcfan/p/9920895.html