是否可以使用 Spring @Value 将值从属性文件映射到 HashMap。
目前我有这样的东西,映射一个值不是问题。但是我需要在 HashMap 到期时映射自定义值。这样的事情可能吗?
@Service
@PropertySource(value = "classpath:my_service.properties")
public class SomeServiceImpl implements SomeService {
@Value("#{conf['service.cache']}")
private final boolean useCache = false;
@Value("#{conf['service.expiration.[<custom name>]']}")
private final HashMap<String, String> expirations = new HashMap<String, String>();
属性文件:’my_service.properties’
service.cache=true
service.expiration.name1=100
service.expiration.name2=20
是否可以像这样映射键:值集
名称 1 = 100
名称 2 = 20
原文由 d-sauer 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在上一篇文章的启发下提出了一个解决方案。
在 Spring 配置中注册属性文件:
我创建组件:
当我想将所有以特定值开头的属性映射到 HashMap 时,使用 @Value 注释: