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 根据类直接注入
写一个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中其他数据。