问题描述:
通过读取配置文件的方式获取自定义配置文件参数。 将属性参数定义为 static ,idea 快捷键生成的 Get 和 Set 方法 获取到的值为null 。
配置文件内容:
csv:
name: xxxx
profile: F:/file
获取配置文件属性
定义好类属性之后,通过 idea 快捷键 (alt + insert) 生成的 Get 和 Set 方法如下:
@Component
@ConfigurationProperties(prefix = "csv")
public class CSVConfig {
private String name;
private static String profile;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public static String getProfile() {
return profile;
}
public static void setProfile(String profile) {
CSVConfig.profile = profile;
}
}
在测试中通过 String profile = CSVConfig.getProfile(); 的方式获取到的 profile 为 null 。
解决方法
将 idea 生成的 Set 方法的 static 删除 修改后带代码如下:
@Component
@ConfigurationProperties(prefix = "csv")
public class CSVConfig {
private String name;
private static String profile;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public static String getProfile() {
return profile;
}
public void setProfile(String profile) {
CSVConfig.profile = profile;
}
}
|