Springboot中 @ConfigurationProperties对象 静态方法调用无效

    技术2022-07-11  126

    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

    Processed: 0.022, SQL: 9