本文主要是介绍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
这篇关于Springboot中 @ConfigurationProperties对象 静态方法调用无效的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!