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

时间:2022-07-19 18:25:08

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 \n list"  获取的值为 zhangsan 换行 list

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

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

yml 根据类直接注入

springBoot 读取配置文件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类中出现这个错误

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

官方解决办法

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

yml中的另一个用法

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

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