【发布时间】:2019-09-04 09:28:44
【问题描述】:
我设置了环境变量
MY_APP_MY_MAP_A1=a
MY_APP_MY_MAP_A2=b
MY_APP_JUSTMAP_A1=a
MY_APP_JUSTMAP_A2=b
通过@ConfigurationProperties 配置我的 Spring Boot (2.1.7.RELEASE) 应用程序:
@SpringBootApplication
@EnableConfigurationProperties(MyApp.MyProperties.class)
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
@Bean
public CommandLineRunner cmd(MyProperties props) {
return args -> {
System.out.println("myMap: " + props.getMyMap());
System.out.println("justmap: " + props.getJustmap());
};
}
@ConfigurationProperties(prefix = "my.app")
@Getter
@Setter
static class MyProperties {
private Map<String, String> myMap;
private Map<String, String> justmap;
}
}
当变量名包含大写字母(驼峰式)时,设置Map<String,String> 不起作用,否则一切正常:
myMap: null
justmap: {a1=a, a2=b}
有什么办法吗?
【问题讨论】:
标签: java spring-boot