欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot讀取resource配置文件生成容器對象的示例代碼

 更新時間:2023年07月26日 14:32:58   作者:Nuyoahll-_-ll  
這篇文章主要介紹了springboot讀取resource配置文件生成容器對象的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

背景:需要對地區(qū)和語言做映射,給一個映射表,通過映射來確定最后保留的是哪個值??梢詫懙綌?shù)據(jù)庫,但是數(shù)量比較小,直接放到配置文件讀取即可。

1、使用@ConfigurationProperties直接讀取配置文件中的屬性

1、在application.properties中配置

# 引入application-language.yml 這個文件
spring.profiles.include=language

2、application-language.yml 文件信息

language-mapping:
  ...: 其他
  Cantonese: 粵語
  Chinese: 普通話
  Danish: 丹麥語
  Mende西班牙語: 西班牙語
  Mongolian: 蒙古語
  阿拉伯語: 阿拉伯語
  安徽方言: 安徽方言
  保加利亞語: 保加利亞語

3、便攜配置類注入到容器中

@Configuration
public class YmlMappingConfiguration {
    @Bean("languageMapping")
    @ConfigurationProperties("language-mapping")
    public Map<String,String> initLanguageMapping(){
        return new HashMap<>();
    }
}

此時你就可以使用了,但是有個問題,他會默認(rèn)把…、漢字作為key的給過濾掉,顯然不是我們要的效果。

2、直接使用Resource讀取配置文件,然后使用YamlMapFactoryBean獲取map對象

@Configuration
public class YmlMappingConfiguration {
    @Bean("languageMapping")
    public Map<String,String> initLanguageMapping2(){
        final Resource resource = new ClassPathResource("application-language.yml");
        final YamlMapFactoryBean factoryBean = new YamlMapFactoryBean();
        factoryBean.setResources(resource);
        final Map<String, Object> object = factoryBean.getObject();
        final HashMap<String, String> languageMappingFormat = new LinkedHashMap<>();
        Map<String, String>languageMapping=(HashMap)object.getOrDefault("language-mapping", new HashMap<String, String>());
        for (Map.Entry<String,String>entry:languageMapping.entrySet()){
            final String trimKey = StringUtils.trimToNull(entry.getKey());
            final String trimVal = StringUtils.trimToNull(entry.getValue());
            if(trimKey!=null && trimVal!=null){
                languageMappingFormat.put(trimKey,trimVal);
            }
        }
        return languageMappingFormat;
    }
}

然后就能從容器中獲得該對象進(jìn)行邏輯操作了。

到此這篇關(guān)于springboot讀取resource配置文件生成容器對象的文章就介紹到這了,更多相關(guān)springboot讀取resource配置文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Java?Executors創(chuàng)建線程池的9種方法

    使用Java?Executors創(chuàng)建線程池的9種方法

    文章主要介紹了?Java?中Executors類創(chuàng)建線程池的?9?種方法,每種方法都詳細(xì)闡述了實現(xiàn)原理、源代碼分析、參數(shù)解釋、實現(xiàn)過程、特性和使用場景,感興趣的小伙伴跟著小編一起來看看吧
    2024-11-11
  • JavaWeb實現(xiàn)壓縮多個文件并下載實例詳解

    JavaWeb實現(xiàn)壓縮多個文件并下載實例詳解

    本文通過實例代碼給大家講解了javaweb實現(xiàn)壓縮多個文件并下載功能,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-07-07
  • Java設(shè)計模式中的適配器模式

    Java設(shè)計模式中的適配器模式

    這篇文章主要介紹了Java設(shè)計模式中的適配器模式,適配器模式(Adapter Pattern)將某個類的接口轉(zhuǎn)換成客戶端期望的另一個接口表示,主的目的是兼容性,讓原本因接口不匹配不能一起工作的兩個類可以協(xié)同工作。其別名為包裝器
    2022-07-07
  • 簡單總結(jié)單例模式的4種寫法

    簡單總結(jié)單例模式的4種寫法

    今天帶大家學(xué)習(xí)java的相關(guān)知識,文章圍繞著單例模式的4種寫法展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java BeanMap實現(xiàn)Bean與Map的相互轉(zhuǎn)換

    Java BeanMap實現(xiàn)Bean與Map的相互轉(zhuǎn)換

    這篇文章主要介紹了利用BeanMap進(jìn)行對象與Map的相互轉(zhuǎn)換,通過net.sf.cglib.beans.BeanMap類中的方法來轉(zhuǎn)換,效率極高,本文給大家分享實現(xiàn)代碼,感興趣的朋友一起看看吧
    2022-11-11
  • Activiti如何動態(tài)獲取流程圖過程詳解

    Activiti如何動態(tài)獲取流程圖過程詳解

    這篇文章主要介紹了Activiti如何動態(tài)獲取流程圖過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 如何解決freemarker靜態(tài)化生成html頁面亂碼的問題

    如何解決freemarker靜態(tài)化生成html頁面亂碼的問題

    這篇文章主要介紹了如何解決freemarker靜態(tài)化生成html頁面亂碼的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Java編程讀寫鎖詳解

    Java編程讀寫鎖詳解

    本篇文章給大家詳細(xì)分享了Java編程讀寫鎖的相關(guān)原理以及知識點內(nèi)容,有興趣的朋友們可以參考下。
    2018-08-08
  • Struts2源碼分析之ParametersInterceptor攔截器

    Struts2源碼分析之ParametersInterceptor攔截器

    這篇文章主要介紹了Struts2源碼分析之ParametersInterceptor攔截器,ParametersInterceptor攔截器其主要功能是把ActionContext中的請求參數(shù)設(shè)置到ValueStack中,,需要的朋友可以參考下
    2019-06-06
  • 一文詳解前端和后端的數(shù)據(jù)是如何連接的(基于Spring?Boot、Django或Node.js)

    一文詳解前端和后端的數(shù)據(jù)是如何連接的(基于Spring?Boot、Django或Node.js)

    這篇文章主要介紹了前端和后端的數(shù)據(jù)是如何連接的相關(guān)資料,文中通過示例介紹的非常詳細(xì),舉例講解的是基于Spring?Boot、Django或Node.js,需要的朋友可以參考下
    2025-01-01

最新評論