springboot中YAML使用二
知識點1,yaml檔案與properties檔案等價配置
application.yml
person:
name: zhangsan
age: 11
application.properties
person.name=zhagnsan
person.age=112222222
通過註解@ConfigurationProperties(prefix = “person”)繫結yaml檔案/properties檔案
知識點2,@ConfigurationProperties黃色告警取消
在pom.xml檔案中新增如下配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
知識點3,@Value屬性,預設值屬性
若配置檔案中未配置相關屬性,則取值為@Value屬性值,優先順序配置檔案屬性大於@Value
@Component
public class Animal {
@Value("草泥馬")
private String name;
private String desc;
// seter geter
}
此時name=草泥馬
若出現配置檔案,則值來自於配置檔案,例
application.properties
aa.name=hello
java檔案
@Component
@ConfigurationProperties(prefix = "aa")
public class Animal {
@Value("草泥馬")
private String name;
private String desc;
// seter geter
}
此時name=hello
知識點4,yaml檔案key駝峰命名的等價方式
如駝峰命名法xxxYyyZzz,可等價於xxx-yyy-zzz
application.yml
s:
user-name: hehe
java檔案
@Component
@ConfigurationProperties(prefix = "s")
public class Student {
private String userName;
// seter geter
}
知識點5,@Value Spring EL表示式注入
application.yml
x:
y:
z: zzzz
application.properties
a.b.c=aaaaaa
java檔案
@Component
public class Animal {
@Value("${a.b.c}")
private String name;
@Value("${x.y.z}")
private String desc;
// seter geter
}
知識點6,@ConfigurationProperties與JSR303整合
校驗屬性值是否正確
在pom.xml檔案中新增如下配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
@Component
@ConfigurationProperties(prefix = "p")
@Validated
public class Person {
@Max(100L)
private int age
// seter geter
}
如圖,校驗age是否超過最大值100
知識點7,@PropertySource引入非預設配置檔案
預設會載入application.properties/application.yml檔案,載入其他配置檔案需要使用註解@PropertySource可以載入其他properties檔案,不支援yml檔案
例
config.properties
ppp.userName=abcdefg
java檔案
@Component
@ConfigurationProperties(prefix = "ppp")
@PropertySource(value = {"classpath:config.properties"})
public class Student {
private String userName;
// seter geter
}
相關文章
- springboot專案中yaml檔案Spring BootYAML
- 【SpringBoot】YAML 配置檔案Spring BootYAML
- YAML 使用YAML
- Python中yaml模組的使用教程PythonYAML
- SpringBoot(7) —— yaml語法講解Spring BootYAML
- 學習PHP中YAML操作擴充套件的使用PHPYAML套件
- (二)springboot中使用RabbitmqSpring BootMQ
- SpringBoot系列之YAML配置用法學習筆記Spring BootYAML筆記
- SpringBoot2配置檔案application.yamlSpring BootAPPYAML
- 《穿越SpringBoot 》 第三章-SpringBoot 配置詳解 | 第1節- SpringBoot Spring Boot 中yaml 配置檔案Spring BootYAML
- eclipse中的yaml外掛EclipseYAML
- Yaml中特殊符號"| > |+ |-"的作用YAML符號
- 好程式設計師Java培訓分享SpringBoot -YAML程式設計師JavaSpring BootYAML
- yaml (YAML Ain't Markup Language)YAMLAI
- springboot中RedisTemplate的使用Spring BootRedis
- SpringBoot 中 JPA 的使用Spring Boot
- SpringBoot之yaml語法及靜態資源訪問Spring BootYAML
- 使用yaml檔案讀取資料YAML
- 使用Kubesec檢查YAML檔案安全YAML
- SpringBoot自定義註解@YmlPropertySource載入yml或者yaml檔案Spring BootYAML
- 如何在YAML中為POJO中Map配置資料? | BaeldungYAMLPOJO
- springboot----二、Hello,SpringBoot!Spring Boot
- yaml檔案中在哪加名稱空間?YAML
- 重走springboot(二)Spring Boot
- springboot(二)、RestApiSpring BootRESTAPI
- .yaml引數檔案的編寫和使用YAML
- Kubernetes簡介以及如何使用YAML配置?YAML
- 修改SpringBoot的配置檔案application.yaml後啟動失敗Spring BootAPPYAML
- YAML檔案YAML
- yaml語法YAML
- yaml學習YAML
- springboot中如何使用執行緒池Spring Boot執行緒
- RAILS中利用YAML檔案完成資料對接AIYAML
- SpringBoot圖文教程6—SpringBoot中過濾器的使用Spring Boot過濾器
- 第二篇:SpringBoot2.x中使用JdbcTemplateSpring BootJDBC
- yaml_parse_file函式的正確使用方式YAML函式
- SpringBoot中Shiro快取使用Redis、EhcacheSpring Boot快取Redis
- SpringBoot中,使用 fastjson代替jacksonSpring BootASTJSON