springboot @ConfigurationProperties和@PropertySource的區(qū)別
@ConfigurationProperties:尋找的是全局配置文件
@PropertySource:尋找的是指定的配置文件
理解里面有一個(gè)參數(shù) value,可以指定很多個(gè)配置文件,所以是使用一個(gè)數(shù)組{}
創(chuàng)建一個(gè)config包,然后在包下創(chuàng)建一個(gè)class
在使用Springboot時(shí)我們經(jīng)常把一些key-value的屬性值配置在
.properties配置文件中,我們想通過(guò)@Value搭配Spring EL來(lái)讀取配置文件中的值來(lái)給我們的變量賦值。
在spring1.5一下提供了一個(gè)類注解:
@ConfigurationProperties:常用的兩個(gè)屬性是:
locations:指定配置文件
prefix:指定該配置文件中的某個(gè)屬性群的前綴
但是使用spring1.5時(shí),源碼部分做了修改,去掉了locations屬性,所以另一個(gè)注解就上場(chǎng)啦
@PropertySource:value:這里指定配置文件,替代原來(lái)@ConfigurationProperties的locations
encoding:指定讀取配置文件時(shí)的編碼
這個(gè)encoding很重要,如果不指定使用默認(rèn)的話很可能出現(xiàn)讀取亂碼的情況,我寫(xiě)demo就遇到了,百度了很多解決方案都是從ide工具本身入手,根本不能解決問(wèn)題,最后還是我自己看注解的源碼才發(fā)現(xiàn)有這個(gè)屬性的。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. moment轉(zhuǎn)化時(shí)間戳出現(xiàn)Invalid Date的問(wèn)題及解決2. python爬蟲(chóng)實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊3. Java剖析工具YourKit 發(fā)布5.0版本4. 跟我學(xué)XSL(一)第1/5頁(yè)5. 為什么你的android代碼寫(xiě)得這么亂6. 使用JSP技術(shù)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的在線測(cè)試系統(tǒng)的實(shí)例詳解7. Python中內(nèi)建模塊collections如何使用8. 解決VUE項(xiàng)目localhost端口服務(wù)器拒絕連接,只能用127.0.0.1的問(wèn)題9. 開(kāi)發(fā)效率翻倍的Web API使用技巧10. 動(dòng)態(tài)設(shè)置django的model field的默認(rèn)值操作步驟
