【发布时间】:2021-09-23 08:11:36
【问题描述】:
在 Spring Boot 中有没有办法加载属性文件并转换为 Map
com.example.TEST={'A':'10','B':'100'}
com.example.TEST2={'NAME':'TESTNAME','SURNAME':'TESTSURNAME'}
com.example.TEST3={'WHERE':'TESTWHERE','HOW':'TESTHOW'}
在我的配置类中我定义了这个枚举
@Configuration
@PropertySource("classpath:testfile.properties")
@ConfigurationProperties("com.example")
public class ConfigurationTestProperty{
private Map<Enum,Map<String,String>> map;
public enum Enum{
TEST,
TEST2,
TEST3
}
......getter and setters
}
谢谢!
【问题讨论】:
-
枚举主要是编译时结构。您如何期望这种“转变”发生?你在考虑代码生成吗?这真的感觉很奇怪。当这些枚举应该依赖于属性文件的内容时,您将如何编写使用这些枚举的“客户端”代码?
-
事实上我问了这个问题是为了知道是否有解决方案或更好的方法来实现我的目标,例如更改属性文件。
-
创建这个枚举只是为了更好的连贯性。但是只删除和管理字符串不是问题,例如 Map
其中第一个键字符串是属性名称的最后一部分。
标签: java spring-boot properties-file