У меня есть вложенное свойство в приложении весенней загрузки.Например:
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
, это работает.Есть ли какие-либо ограничения на использование числа в качестве ключа в свойствах вложенной структуры?Я уверен, что ключ с числовым значением работает без проблем во вложенной структуре.