我们使用的是Spring Boot2。
我们想使用Spring Boot的刷新机制,但是由于一个bug我们不能使用@configuration
,因此我们不得不用@value
和@refreshScope
替换所有这些。
所以我们用了:
@Configuration
@RefreshScope
public class MyConfig {
@Value("${myMap}")
private Map<String, String> myMap;
}
例如,使用该YAML文件:
myMaps:
key1: Value
key2: Another Value
但是我们不能使用其他类型的属性绑定,因为我们正在将这个应用程序部署到kubernetes中,并使用kubernetes的配置映射。
所以我们想知道,是否还有其他机会让@value
与map
一起工作
与:@value(“${myMap}”)
不同,您需要像下面这样编写@value(“#{${myMap}}”)
。
'#'将后面花括号中的内容视为Spring Expression Language(SpEL)。
问题内容: 如何在Spring中使用@Value批注将值从属性文件注入Map中? 我的Spring Java类是我尝试使用$,但收到以下错误消息 无法自动装配字段:私有 嵌套异常是:无法解析字符串值中的占位符 我在.properties文件中具有以下属性 问题答案: 我相信Spring Boot支持使用注释开箱即用地加载属性映射。 根据该文档,你可以加载属性: 像这样变成豆子: 我之前使用过@Co
问题内容: 使用诸如 可以分配具有某些属性的某些字段。 是否有更短,更简洁的形式来执行此操作? 问题答案:
在过去,我使用Spring的XML配置连接bean,在这种情况下,我可以这样做(假设bean有属性的公共setter): 当使用基于注释的配置时,是否存在类似的情况?
如何使用注释填充值映射,而不在applicationContext中定义任何内容。xml或任何其他xml文件。 我使用的是SpringBoot,它没有任何XML文件,也不需要任何XML文件,所以请不要告诉我用XML等声明任何属性读取器bean。 此外,这是一个属性注入问题-请不要建议使用数据库存储数据-这不是一个答案,对于我的情况也不可能。 此外,我也不能使用YAML(由于部署/操作需求)。 我已
到底是怎么回事? 提前谢了。