您的位置:首頁技術文章
文章詳情頁

springboot @ConfigurationProperties和@PropertySource的區別

瀏覽:2日期:2023-03-04 18:30:40
springboot @ConfigurationProperties和@PropertySource區別

@ConfigurationProperties:尋找的是全局配置文件

springboot @ConfigurationProperties和@PropertySource的區別

@PropertySource:尋找的是指定的配置文件

理解里面有一個參數 value,可以指定很多個配置文件,所以是使用一個數組{}

springboot @ConfigurationProperties和@PropertySource的區別

springboot推薦使用這種方式給容添加組件:

創建一個config包,然后在包下創建一個class

springboot @ConfigurationProperties和@PropertySource的區別

使用@bean給容器中添加組件

springboot @ConfigurationProperties和@PropertySource的區別

springboot 使用@ConfigurationProperties和@PropertySource的問題

在使用Springboot時我們經常把一些key-value的屬性值配置在

.properties配置文件中,我們想通過@Value搭配Spring EL來讀取配置文件中的值來給我們的變量賦值。

在spring1.5一下提供了一個類注解:

@ConfigurationProperties:

常用的兩個屬性是:

locations:指定配置文件

prefix:指定該配置文件中的某個屬性群的前綴

但是使用spring1.5時,源碼部分做了修改,去掉了locations屬性,所以另一個注解就上場啦

@PropertySource:

value:這里指定配置文件,替代原來@ConfigurationProperties的locations

encoding:指定讀取配置文件時的編碼

這個encoding很重要,如果不指定使用默認的話很可能出現讀取亂碼的情況,我寫demo就遇到了,百度了很多解決方案都是從ide工具本身入手,根本不能解決問題,最后還是我自己看注解的源碼才發現有這個屬性的。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
国产综合久久一区二区三区