gpt4 book ai didi

java - Spring引导加载以数字为键的嵌套属性

转载 作者:行者123 更新时间:2023-11-30 10:10:33 24 4
gpt4 key购买 nike

我的 spring boot 应用程序中有嵌套属性。例如:

 topics:
target:
abc_1:
12345678:
key: value_1
default:
key: value_1

我尝试在我的类中使用 @Value 访问该值,如下所示:

@Value("${topics.target.abc_1.12345678.key}")
private String key;

但是我在启动应用程序时遇到以下异常。

org.springframework.beans.factory.BeanCreationException: Error creating bean with name '***': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'topics.target.abc_1.12345678.key' in value "${topics.target.abc_1.12345678.key}"

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:378)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1341)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:393)

但令人惊讶的是,当我尝试加载 topics.target.abc_1.default.key 时,它起作用了。在嵌套结构的属性中以数字作为键是否有任何限制?我确信具有数字值的键在非嵌套结构中可以正常工作。

最佳答案

问题是因为其中一个键 abc_1 中的 “_”

从属性中删除“_”后,一切似乎都正常工作。

关于java - Spring引导加载以数字为键的嵌套属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52781683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com