Springboot中 @ConfigurationProperties對象 靜態方法調用無效

1.https://blog.csdn.net/weixin_43404791/article/details/105430606

2.https://blog.csdn.net/qq827245563/article/details/106296533/

一.問題

1.springboot 使用 @ConfigurationProperties注入對象 普通方法調用可以  在靜態方法中調用的時候讀取不到參數

二.舉例

package com.xxx.framework.config;
 
@Data
@Component
@ConfigurationProperties(prefix = "oss")
public class OssPayProperties {
    private static String ossbucket;
    private static String ossappSecret;
 
}

三.問題原因

 因爲@ConfigurationProperties只會調用 非靜態的set方法

====多看springboot源碼答案都在源碼中=======


@Component
@ConfigurationProperties(prefix = "oss")
public class OssPayProperties {
 
    /// set方法都換成非靜態的 get方法改爲靜態的
 
    private static String ossbucket;
 
 
    public static String getOssbucket() {
        return ossbucket;
    }
 
    public void setOssbucket(String ossbucket) {
        OssPayProperties.ossbucket = ossbucket;
    }
}

@ConfigurationProperties會根據配置文件的信息調用返回對象的set方法

切記:prefix必須全部爲小寫,set方法必須爲public

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章