亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot加載不出來application.yml文件的解決方法

 更新時間:2023年12月18日 10:40:03   作者:方丈的寺院  
這篇文章主要介紹了SpringBoot加載不出來application.yml文件的解決方法,文中通過示例代碼講解的非常詳細,對大家的學習或者工作有一定的幫助,需要的朋友跟著小編來一起來學習吧

摘要

記錄一次SpringBoot加載不出來application.yml文件的問題解決過程

問題

配置了application.yml文件,但是映射到properties bean的時候失敗

@ConfigurationProperties(
    prefix = "com.fs"
)
public class DemoProperties {
    private String serviceName;

    public DemoProperties() {
    }

    public String getServiceName() {
        return this.serviceName;
    }

    public void setServiceName(String serviceName) {
        this.serviceName = serviceName;
    }
}

問題分析

分析1:首先懷疑是application.yml文件沒有打包到classpath下,這個是最直接的原因,使用的是maven 構建工具

在target 目錄下面生成的war中看到了這個文件,排除了這個原因

分析2: DemoProperties文件配置不對

檢查發(fā)現(xiàn),@ConfigurationProperties 注解有,setter,getter方法有。不放心debug了一下

發(fā)現(xiàn)propertySource中沒有application.yml文件的值,一個正常的application.yml文件加載情況應該是這樣的

分析3:

這時候根據常識已經找不出問題了,只能看源碼了

根據時序圖可以大致猜測問題發(fā)生在load階段,即加載properties文件階段。PropertySourceLoader接口中l(wèi)oad方法實際讀取properties文件。這個接口有兩個實現(xiàn)PropertiesPropertySourceLoader,解析后綴名為"properties", “xml"的application配置文件YamlPropertySourceLoader解析后綴名為"yml”, "yaml"的application配置文件

看下YamlPropertySourceLoader的實現(xiàn)

 public PropertySource<?> load(String name, Resource resource, String profile) throws IOException {
        if(ClassUtils.isPresent("org.yaml.snakeyaml.Yaml", (ClassLoader)null)) {
            YamlPropertySourceLoader.Processor processor = new YamlPropertySourceLoader.Processor(resource, profile);
            Map<String, Object> source = processor.process();
            if(!source.isEmpty()) {
                return new MapPropertySource(name, source);
            }
        }

        return null;
    }

我的天,一眼看出來可能會有問題,判斷org.yaml.snakeyaml.Yaml類是否存在,否則返回null

解決

pom文件中加上snakeyaml依賴

			<dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>${snakeyaml.version}</version>
                 </dependency>

到此這篇關于SpringBoot加載不出來application.yml文件的解決方法的文章就介紹到這了,更多相關SpringBoot加載不出來application.yml內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java語言多線程終止中的守護線程實例

    Java語言多線程終止中的守護線程實例

    這篇文章主要介紹了Java語言多線程終止中的守護線程實例,具有一定借鑒價值,需要的朋友可以參考下
    2017-12-12
  • java分布式面試系統(tǒng)限流最佳實踐

    java分布式面試系統(tǒng)限流最佳實踐

    這篇文章主要介紹了java分布式面試系統(tǒng)限流最佳實踐場景分析解答,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-03-03
  • MyBatis中的XML實現(xiàn)和動態(tài)SQL實現(xiàn)示例詳解

    MyBatis中的XML實現(xiàn)和動態(tài)SQL實現(xiàn)示例詳解

    這篇文章主要介紹了MyBatis中的XML實現(xiàn)和動態(tài)SQL實現(xiàn),我們可以將XML中重復出現(xiàn)的內容提取出來放到sql標簽中,當需要用到sql標簽中的內容時,用include標簽將sql標簽中的內容引進來即可,感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • Intellij IDEA 添加jar包的三種方式(小結)

    Intellij IDEA 添加jar包的三種方式(小結)

    這篇文章主要介紹了Intellij IDEA 添加jar包的三種方式(小結),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • SpringBoot調用第三方WebService接口的操作技巧(.wsdl與.asmx類型)

    SpringBoot調用第三方WebService接口的操作技巧(.wsdl與.asmx類型)

    這篇文章主要介紹了SpringBoot調第三方WebService接口的操作代碼(.wsdl與.asmx類型 ),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • 關于Maven構建命令使用詳解

    關于Maven構建命令使用詳解

    Maven構建命令詳解:mvnclean、mvncompile、mvntest、mvnpackage、mvninstall、mvndeploy及其他常用命令,幫助開發(fā)者高效管理項目構建流程
    2025-02-02
  • Java高頻面試題之海量數據處理分析

    Java高頻面試題之海量數據處理分析

    海量信息處理日益成為當前程序員筆試面試中一個新的亮點。硬件擴容是難滿足海量數據處理需要的,如何利用現(xiàn)有條件進行海量信息處理?本文就來為大家解答一下
    2022-10-10
  • Java實現(xiàn)新建有返回值的線程的示例詳解

    Java實現(xiàn)新建有返回值的線程的示例詳解

    本文主要介紹了一個Java多線程的例題,題目是:使用ThreadLocal管理一號和二號線程,分別存入100元,在三號線程中使用利用一號和二號的計算結果來算出賬戶的實際金額。感興趣的可以了解一下
    2022-09-09
  • 淺談spring的重試機制無效@Retryable@EnableRetry

    淺談spring的重試機制無效@Retryable@EnableRetry

    這篇文章主要介紹了淺談spring的重試機制無效@Retryable@EnableRetry,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • springsecurity實現(xiàn)登錄驗證以及根據用戶身份跳轉不同頁面

    springsecurity實現(xiàn)登錄驗證以及根據用戶身份跳轉不同頁面

    Spring?Security是一種基于Spring框架的安全技術,用于實現(xiàn)身份驗證和訪問控制,本文介紹了如何使用Spring?Security,結合session和redis來存儲用戶信息,并通過編寫特定的登錄處理類和Web配置,實現(xiàn)用戶登錄和注銷功能
    2024-09-09

最新評論