最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

背景:需要對地區(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<>();
    }
}

此時你就可以使用了,但是有個問題,他會默認把…、漢字作為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;
    }
}

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

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

相關(guān)文章

  • SpringMVC 重新定向redirect請求中攜帶數(shù)據(jù)方式

    SpringMVC 重新定向redirect請求中攜帶數(shù)據(jù)方式

    這篇文章主要介紹了SpringMVC 重新定向redirect請求中攜帶數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java正則表達式matcher.group()用法代碼

    Java正則表達式matcher.group()用法代碼

    這篇文章主要給大家介紹了關(guān)于Java正則表達式matcher.group()用法的相關(guān)資料,最近在做一個項目,需要使用matcher.group()方法匹配出需要的內(nèi)容,文中給出了詳細的代碼示例,需要的朋友可以參考下
    2023-08-08
  • 解決反射調(diào)用方法時獲取bean失敗的問題

    解決反射調(diào)用方法時獲取bean失敗的問題

    文章描述了通過反射機制調(diào)用類方法時遇到的@Autowired注入失敗和事務(wù)回滾失敗的問題,原因是反射生成的對象未被SpringIOC容器管理,解決方案是通過applicationContext.getBean("className")方法獲取Spring管理的bean來解決注入和事務(wù)問題
    2025-10-10
  • IDEA 包轉(zhuǎn)模塊的解決步驟

    IDEA 包轉(zhuǎn)模塊的解決步驟

    很多朋友遇到這樣一個問題,直接在idea拉取代碼,發(fā)現(xiàn)創(chuàng)建的模塊包類型不一樣了,類似這樣的問題該如何處理呢?很多朋友向小編求助,在這統(tǒng)一回答大家,需要的朋友參考下本文吧
    2021-06-06
  • Spring Boot中@value的常見用法及案例

    Spring Boot中@value的常見用法及案例

    @Value注解是Spring框架中強大且常用的注解之一,本文主要介紹了SpringBoot中@value的常見用法及案例,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • springBoot (springCloud2025)集成redisCluster 集群的操作方法

    springBoot (springCloud2025)集成redisCluster 集群的操作方法

    文章介紹了如何使用Spring Boot集成Redis Cluster集群,并詳細說明了pom.xml、application.yaml、集群配置類、其他配置類、連接池配置類、Redis工具類以及測試接口的配置和使用方法,感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • SpringBoot Admin 使用指南(推薦)

    SpringBoot Admin 使用指南(推薦)

    這篇文章主要介紹了SpringBoot Admin 使用指南(推薦),Spring Boot Admin 是一個管理和監(jiān)控你的 Spring Boot 應用程序的應用程序,非常具有實用價值,需要的朋友可以參考下
    2018-01-01
  • SpringBoot集成和使用RabbitMQ方式

    SpringBoot集成和使用RabbitMQ方式

    本文介紹了如何在SpringBoot項目中集成RabbitMQ,并結(jié)合死信隊列實現(xiàn)延時消息,通過這些配置和機制,開發(fā)者可以在分布式系統(tǒng)中構(gòu)建更為靈活和可靠的消息傳遞系統(tǒng)
    2024-12-12
  • JDK安裝方法和Linux常見設(shè)置詳細版教程

    JDK安裝方法和Linux常見設(shè)置詳細版教程

    這篇文章主要給大家介紹了關(guān)于JDK安裝方法和Linux常見設(shè)置的相關(guān)資料,文章詳細介紹了如何在Linux系統(tǒng)中設(shè)置靜態(tài)IP、用戶名和主機名,配置防火墻,安裝JDK以及如何創(chuàng)建系統(tǒng)快照,需要的朋友可以參考下
    2024-11-11
  • 解決MybatisPlus批量插入數(shù)據(jù)報錯:Error getting generated key or setting result to parameter object問題

    解決MybatisPlus批量插入數(shù)據(jù)報錯:Error getting generated 

    在使用MybatisPlus進行批量插入數(shù)據(jù)時遇到空指針異常錯誤,分析原因是由于主鍵生成策略導致的,嘗試通過設(shè)置useGeneratedKeys屬性解決問題,但因批量插入方法限制,該方法未能成功,最終通過自定義mapper方法實現(xiàn)批量插入,解決了問題
    2024-09-09

最新評論

武义县| 东山县| 黄骅市| 武川县| 榆社县| 福贡县| 丹凤县| 宜良县| 娄烦县| 晋江市| 武川县| 卓尼县| 三都| 鄂伦春自治旗| 东兰县| 丹巴县| 阜阳市| 南昌市| 商都县| 区。| 阿勒泰市| 车致| 海门市| 多伦县| 文昌市| 大冶市| 康马县| 浮山县| 惠州市| 横峰县| 吉木萨尔县| 大竹县| 治多县| 镇平县| 郎溪县| 威宁| 桐庐县| 商城县| 勃利县| 庆城县| 桃源县|