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 \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中其他数据。
欢迎指正:haizi2014@qq.com