springboot @ConfigurationProperties和@PropertySource的區(qū)別
@ConfigurationProperties:尋找的是全局配置文件
@PropertySource:尋找的是指定的配置文件
理解里面有一個參數(shù) value,可以指定很多個配置文件,所以是使用一個數(shù)組{}
創(chuàng)建一個config包,然后在包下創(chuàng)建一個class
在使用Springboot時我們經(jīng)常把一些key-value的屬性值配置在
.properties配置文件中,我們想通過@Value搭配Spring EL來讀取配置文件中的值來給我們的變量賦值。
在spring1.5一下提供了一個類注解:
@ConfigurationProperties:常用的兩個屬性是:
locations:指定配置文件
prefix:指定該配置文件中的某個屬性群的前綴
但是使用spring1.5時,源碼部分做了修改,去掉了locations屬性,所以另一個注解就上場啦
@PropertySource:value:這里指定配置文件,替代原來@ConfigurationProperties的locations
encoding:指定讀取配置文件時的編碼
這個encoding很重要,如果不指定使用默認(rèn)的話很可能出現(xiàn)讀取亂碼的情況,我寫demo就遇到了,百度了很多解決方案都是從ide工具本身入手,根本不能解決問題,最后還是我自己看注解的源碼才發(fā)現(xiàn)有這個屬性的。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
