日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

詳解SpringBoot讀取配置文件的N種方法

瀏覽:51日期:2023-03-25 10:02:36

我們在項目開發中經常會用到配置信息,例如數據庫連接的帳號、密碼等,而為了方便維護,我們通常將這些信息放到配置文件中。在需要用到這些配置信息時,可以通過代碼獲取。下面我們看看Spring中有哪些獲取配置信息的方法。

PropertiesLoaderUtils讀取

通過ClassPathResource加載配置文件資源,結合PropertiesLoaderUtils類讀取,源碼如下:

ClassPathResource resource = new ClassPathResource('application.properties'); try { Properties properties = PropertiesLoaderUtils.loadProperties(resource); String account = properties.getProperty('jdbc.account');} catch (IOException e) { …… }@Value注解讀取指定屬性

配置信息

jdbc: account: zhangsan pwd: 123456

讀取方法

@Componentpublic class JdbcService { @Value('${jdbc.account}') private String account; @Value('${jdbc.pwd}') private String pwd; public void connectDb() { System.out.println('Database has connected, jdbc account is ' + account + ', password is ' + pwd); }}

@Value 注解通過 ${key}獲取配置文件中和 key 對應的 value 值,并將value值賦給對應的變量,之后就像使用正常變量一樣就可以獲取到配置信息。

@ConfigurationProperties讀取一組配置信息

@ConfigurationProperties注解用于讀取指定前綴的一組配置信息并與bean綁定,具體的配置屬性會綁定到bean的成員屬性中,即前綴名+成員屬性名等于配置文件中的key。之后可以像使用其他bean一樣使用該bean并讀取配置信息。

配置信息

user: name: zhangsan sex: 男 homeUrl: www.xxx.com

綁定bean

@Component@Data@ConfigurationProperties(prefix = 'user')public class User { private String name; private String sex; private String homeUrl;}

使用bean

@Servicepublic class UserService { @Autowired User user; public void getUserInfo() { System.out.println(user.toString()); }}

@Value適用與少量配置信息的場景,在一些較復雜的場景下(業務繁瑣、配置項多),需要考慮把相關一組配置信息封裝成一個或多個配置信息類,這時就可以使用@ConfigurationProperties。

@PropertySource讀取指定配置文件

當我們項目比較大配置信息比較多的時,如果所有的配置信息都放在一個配置文件中,就會顯得比較臃腫且不易理解和維護。此時,我們可以按照需求將該配置文件拆分為多個,并使用@PropertySource注解配合@Value或@ConfigurationProperties讀取指定配置文件中的配置信息。假設我們存儲數據連接信息的配置文件為jdbc.properties,內容如下:

jdbc: account: zhangsan pwd: 123456

@Component@Data@PropertySource(value = {'classpath:jdbc.properties'})@ConfigurationProperties(prefix = 'jdbc')public class JdbcCfg { private String account; private String pwd; public void connectDb() { System.out.println('Database has connected, jdbc account is ' + account + ', password is ' + pwd); }}

也可以和@Value配合使用。

@Component@PropertySource(value = {'classpath:jdbc.properties'})public class JdbcCfg { @Value('${jdbc.account}') private String account; @Value('${jdbc.pwd}') private String pwd; public void connectDb() { System.out.println('Database has connected, jdbc account is ' + account + ', password is ' + pwd);}指定項目的配置文件

在實際開發中,我們一般最少會有兩個環境——開發環境和線上環境,可能還會存在測試環境,這些環境往往會使用不同的配置信息,比如端口、數據庫鏈接地址等。如果我們把項目部署到線上環境后,在把配置信息一項一項的改成線上環境對應的會比較麻煩。比較科學的解決方法是,線上環境對應一套配置信息,開發環境對應一套,當我們在開發環境時指定讀取開發的配置,在線上時指定讀取線上的配置。

假設開發環境對應的配置文件為application-d.yml,線上環境對應的配置文件為application-d.yml。然后在application.yml文件中配置要使用的哪個配置文件即可,如在線上環境可按如下指定。

spring: profiles: active: - p讀取復雜配置信息

看下如下配置文件

#http協議下消息傳輸msgtransfer.tranprocol.http.orderid = order1msgtransfer.tranprocol.http.count = 100#fix協議下消息傳輸msgtransfer.tranprocol.fix.orderid = order2msgtransfer.tranprocol.fix.count = 200

上面的配置文件是為了支持不同協議的消息傳輸,該配置的key中也存在變量,這樣的配置信息如何讀取呢?

@Component@Data@ConfigurationProperties(prefix = 'msgtransfer')public class MsgTransferCfg { private Map<String, MsgInfo> tranprocol; public static class MsgInfo { private String orderid; private int count; } }

關鍵點在private Map<String, MsgInfo> tranprocol;,http和fix會自動映射為tranprocol的key,orderid和count會映射到MsgInfo的成員屬性上。

如果在配置文件的key中使用變量的,需要在相應的bean中定義map,配置文件和map的對應規則如下:

前綴.map名稱.key.pro = value

到此這篇關于詳解SpringBoot讀取配置文件的N種方法的文章就介紹到這了,更多相關SpringBoot讀取配置文件內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美亚洲三级| 欧美日韩在线二区| 老司机免费视频一区二区三区| 国产毛片精品| 日韩国产在线| 亚洲一区成人| 91精品蜜臀一区二区三区在线| 蜜臀精品一区二区三区在线观看| 粉嫩av一区二区三区四区五区| 国产精品大片免费观看| 欧美日韩免费观看视频| 亚洲精品一级| 欧美激情国产在线| 精品成av人一区二区三区| 日本一区二区中文字幕| 久久高清免费| 精品国产欧美日韩一区二区三区| 欧美日韩国产免费观看| 美女精品在线观看| 免费人成黄页网站在线一区二区| 欧美黄页在线免费观看 | 亚洲精品一二三区区别| 国产伦精品一区二区三区千人斩| 亚洲精品在线二区| 久久亚洲成人| 日韩久久精品| 久久久久中文| 影音国产精品| 久久麻豆精品| 久久久久久久久久久妇女| 国产一在线精品一区在线观看| 国产精品chinese| 日韩一区二区三区精品| 国产亚洲精品久久久久婷婷瑜伽| 日韩av不卡在线观看| 欧美日韩国产亚洲一区| 国产成人精品亚洲线观看| 国产精品普通话对白| 亚洲激情黄色| 美女国产一区| 午夜欧美精品| 日本在线视频一区二区| 中文在线日韩| 日韩精品亚洲一区二区三区免费| 国产精品91一区二区三区| 国产成人精品三级高清久久91| 麻豆视频一区| 国产成人a视频高清在线观看| 国产三级一区| 国产精品嫩模av在线| 亚洲美女久久精品| 欧美亚洲国产激情| 亚洲精品极品少妇16p| 欧美亚洲综合视频| av免费不卡国产观看| 久久九九电影| 免费观看不卡av| 欧美一级二区| 三上悠亚国产精品一区二区三区 | 亚洲福利久久| 日韩极品在线观看| 日韩欧美另类一区二区| 亚洲啊v在线免费视频| 亚洲欧洲一区| 欧美日韩国产欧| 亚洲激情欧美| 在线国产日韩| 日韩欧美久久| 国产日韩欧美一区在线| 亚洲精品四区| 日韩精品欧美精品| 日韩精品免费一区二区夜夜嗨 | 成人午夜精品| 国产亚洲一区二区手机在线观看| 国产在线观看91一区二区三区| 麻豆一区二区三区| 国产91欧美| 婷婷成人在线| 自拍自偷一区二区三区| 日本欧美一区二区在线观看| 日本成人在线网站| 国内精品亚洲| 久久精品国产68国产精品亚洲| 99久久久久| 蜜桃视频在线观看一区| 日韩动漫一区| 老牛影视精品| 亚洲欧美网站在线观看| 五月天久久久| 成人台湾亚洲精品一区二区 | 亚洲一级淫片| 毛片在线网站| 久久99精品久久久久久园产越南| 国产视频一区欧美| 久久九九精品| 国产伦久视频在线观看| 国产精品成人一区二区网站软件| 亚洲欧美视频一区二区三区| 日韩免费看片| 另类综合日韩欧美亚洲| 日本午夜精品久久久久| 欧美日韩一二| 久久久成人网| 日本久久成人网| 国产99精品| 久久精品影视| 久久精品国语| 亚洲性视频h| 狠狠爱成人网| 黑丝一区二区三区| 亚洲中字黄色| 综合国产在线| 欧美精品三级在线| 国产欧美另类| 国产精品极品| 国产成人久久精品一区二区三区| 日韩一区精品视频| 日韩欧美综合| 久久91导航| 成人污污视频| 麻豆免费精品视频| 国产精品观看| 精品视频自拍| 精品资源在线| 国产一区调教| 色欧美自拍视频| 成人高清一区| 中文字幕高清在线播放| 成人在线黄色| 亚洲成人不卡| 99热免费精品| 久久精品国产亚洲夜色av网站| 日韩一区二区在线免费| 欧美韩日一区| 国产精品一级在线观看| 久久精品99久久无色码中文字幕| 日本精品国产| 日韩欧乱色一区二区三区在线| 水蜜桃久久夜色精品一区的特点| 夜鲁夜鲁夜鲁视频在线播放| 久久精品国产999大香线蕉| 欧美在线91| 日产午夜精品一线二线三线| 久久一区二区三区电影| 久久国产精品久久w女人spa| 中文字幕日韩亚洲| 免费国产自线拍一欧美视频| 亚久久调教视频| av免费不卡国产观看| 亚洲一区欧美二区| 麻豆国产欧美一区二区三区| 国精品一区二区三区| 亚洲精品动态| 国产中文在线播放| 久久高清一区| 国产一区二区三区不卡视频网站| 亚洲精品888| 国产一区亚洲| 国产欧美自拍一区| 尤物在线精品| 欧美.日韩.国产.一区.二区| 精品国产亚洲一区二区三区大结局| 精品国产网站| 国产剧情在线观看一区| 99久精品视频在线观看视频| 国产高清一区| 久久精品资源| 亚洲欧洲av| 欧美激情在线精品一区二区三区| 韩国女主播一区二区三区| 视频在线在亚洲| 国产精品一区二区中文字幕| 久久久精品五月天| 久久精品99国产精品| 日本а中文在线天堂| 欧美一区免费| 99久久精品网| 成人国产精品久久| 国产精品igao视频网网址不卡日韩| 在线一区免费观看| 国产综合亚洲精品一区二| 精品国产中文字幕第一页| 亚洲精品成人一区| 久久亚洲二区| 国产精品7m凸凹视频分类| 欧美日韩视频网站| 成年男女免费视频网站不卡| 国产精品夜夜夜| 欧美一级一区| 日本aⅴ免费视频一区二区三区| 老司机精品久久| 久久五月天小说| 亚洲精品2区| 亚洲一区日韩| 亚洲91网站| 日韩精品社区| 欧美日本久久| 日韩欧美中文字幕在线视频| 亚洲精品日本| 久久国产视频网|