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中其他數據。