溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發(fā)技術 > 
  • 如何解決springboot利用ConfigurationProperties注解配置數(shù)據(jù)源無法讀取配置信息問題

如何解決springboot利用ConfigurationProperties注解配置數(shù)據(jù)源無法讀取配置信息問題

發(fā)布時間:2021-05-31 10:03:43 來源:億速云 閱讀:720 作者:小新 欄目:開發(fā)技術

小編給大家分享一下如何解決springboot利用ConfigurationProperties注解配置數(shù)據(jù)源無法讀取配置信息問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

@ConfigurationProperties是springboot新加入的注解,主要用于配置文件中的指定鍵值對映射到一個java實體類上。那么它是怎么發(fā)揮作用的呢?下面我們將揭開@ConfigurationProperties的魔法。

ConfigurationPropertiesBindingPostProcessor這個bean后置處理器,就是來處理bean屬性的綁定的,這個bean后置處理器后文將稱之為properties后置處理器。你需要知道以下幾件事:

ioc容器context的enviroment.propertySources記錄著系統(tǒng)屬性、應用屬性以及springboot的默認配置文件application.properties中的配置屬性等。properties后置處理器就是從其中找到匹配的配置項綁定到bean的屬性上去的。
屬性綁定是有覆蓋性的,操作系統(tǒng)環(huán)境變量可以覆蓋配置文件application.properties, java系統(tǒng)屬性可以覆蓋操作系統(tǒng)環(huán)境變量。

重點給大家介紹springboot配置數(shù)據(jù)源無法讀取配置信息的問題及解決方案,具體內容如下:

出現(xiàn)的問題:

利用ConfigurationProperties注解配置數(shù)據(jù)源發(fā)現(xiàn)讀取的數(shù)據(jù)庫配置信息全部為null。

@Bean(name = "pq")
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource dataSourcePq() {
        return DataSourceBuilder.create().build();     
    }
#配置信息
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    #MySQL配置
    driverClassName: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/graduate?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    username: root
    password: root

debug過后發(fā)現(xiàn)配置文件屬性沒有讀取成功

如何解決springboot利用ConfigurationProperties注解配置數(shù)據(jù)源無法讀取配置信息問題

解決方法:

@Bean(name = "pq")
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource dataSourcePq() {
        //return DataSourceBuilder.create().build();
        return new DruidDataSource();
    }

出現(xiàn)問題原因:

暫時還不清楚,第一次使用這樣的方式配置數(shù)據(jù)源,可能有些細節(jié)沒有注意到。

以上是“如何解決springboot利用ConfigurationProperties注解配置數(shù)據(jù)源無法讀取配置信息問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI