官术网_书友最值得收藏!

2.6 類型安全配置屬性

在2.5節中,讀者已經了解到無論是Properties配置還是YAML配置,最終都會被加載到Spring Environment中。Spring提供了@Value注解以及EnvironmentAware接口來將Spring Environment中的數據注入到屬性上,Spring Boot對此進一步提出了類型安全配置屬性(Type-safe Configuration Properties),這樣即使在數據量非常龐大的情況下,也可以更加方便地將配置文件中的數據注入Bean中??紤]在application.properties中添加如下一段配置:

將這一段配置數據注入如下Bean中:

代碼解釋:


? @ConfigurationProperties中的prefix屬性描述了要加載的配置文件的前綴。

? 如果配置文件是一個YAML文件,那么可以將數據注入一個集合中。YAML將在2.7節介紹。

? Spring Boot采用了一種寬松的規則來進行屬性綁定,如果Bean中的屬性名為authorName,那么配置文件中的屬性可以是book.author_name、book.author-name、book.authorName或者book.AUTHORNAME。

注意

以上的配置可能會亂碼,需要對中文進行轉碼。在IntelliJ IDEA中,這個轉碼非常容易,在setting配置中進行簡單配置即可,如圖2-11所示。

圖2-11

最后創建BookController進行簡單測試:

注入Book,并將實例輸出,如圖2-12所示。

圖2-12

主站蜘蛛池模板: 天祝| 木里| 天祝| 兰溪市| 丹寨县| 海门市| 云霄县| 双峰县| 铜川市| 阿城市| 肇州县| 望奎县| 葫芦岛市| 福建省| 张家界市| 仙桃市| 基隆市| 宣武区| 镇原县| 美姑县| 上虞市| 拜泉县| 华宁县| 高密市| 若羌县| 汝南县| 武川县| 哈巴河县| 惠东县| 双江| 天长市| 土默特左旗| 嘉峪关市| 井冈山市| 德昌县| 德安县| 旬邑县| 兴城市| 勃利县| 个旧市| 盐池县|