@ConfigurationProperties注解 静态方法调用无效 [ 技术杂谈 ]
九叶的小窝 文章 正文
![As Long As You Love Me.](https://api.qwq.ro/storage/users/uid-1/1661304663.png)
九叶
{{nature("2022-03-09 15:37:58")}}更新1. 问题
前一阵子遇到的问题 突然想起来没有写笔记 先记录下来
SpringBoot中使用 @ConfigurationProperties 注入对象 普通方法调用可以 在静态方法中调用的时候读取不到参数
@Component
@ConfigurationProperties(prefix = "constants.ftp")
public class FtpConfig
{
private static String host;
private static int port;
private static String user;
private static String password;
private static String uploadPath;
private static String outputPath;
public static String getXXX() {
return xxx;
}
public static void setXXX(String xxx) {
FtpConfig.xxx = xxx;
}
...
}
2. 原因
因为@ConfigurationProperties只会调用非静态的set方法
3. 解决方案
将set方法改为非静态
public static String getXXX() {
return xxx;
}
public void setXXX(String xxx) {
FtpConfig.xxx = xxx;
}
@ConfigurationProperties会根据配置文件的信息调用返回对象的set方法
切记:prefix必须全部为小写,set方法必须为public
参考资料: https://blog.csdn.net/sl1990129/article/details/107064360
{{nature('2021-12-07 15:29:00')}} {{format('2878')}}人已阅读
{{nature('2021-01-31 20:01:00')}} {{format('1231')}}人已阅读
{{nature('2020-12-11 21:17:00')}} {{format('1158')}}人已阅读
{{nature('2021-04-22 15:16:00')}} {{format('1112')}}人已阅读
目录
标签云
一言
评论 0
{{userInfo.data?.nickname}}
{{userInfo.data?.email}}