Loading... ## 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 Last modification:March 9, 2022 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 0 感谢大佬投喂 啾咪~