Как я могу вставлять значения в карту из файла свойств, используя аннотацию @Value весной?Как ввести карту с помощью аннотации @Value Spring?
My Spring Java класс и я попытался с помощью $, но получил следующее сообщение об ошибке
Не удалось autowire поле: частная java.util.Map Test.standard; вложенное исключение java.lang.IllegalArgumentException: Не удалось разрешить заполнитель «com.test.standard» в строковое значение «$ {com.test.standard}»
@ConfigurationProperty("com.hello.foo")
public class Test {
@Value("${com.test.standard}")
private Map<String,Pattern> standard = new LinkedHashMap<String,Pattern>
private String enabled;
}
У меня есть следующие свойства в. файл свойств
com.test.standard.name1=Pattern1
com.test.standard.name2=Pattern2
com.test.standard.name3=Pattern3
com.hello.foo.enabled=true
Вам нужно будет использовать весенний язык выражения. Аналогичный вопрос, который использовал список (https://stackoverflow.com/questions/27390363/spring-how-to-inject-an-inline-list-of-strings-using-value-annotation). Я не уверен, что вы можете делать то, что хотите, из коробки. Этот вопрос https: // stackoverflow.com/questions/28369458/how-to-fill-hashmap-from-java-property-file-with-spring-value немного больше. Использует настраиваемое свойство mapper –
Что именно вы хотите на своей карте? Кажется, вы также ожидаете, что какой-то тип конвертируется в «Pattern»? Что это за класс «Pattern»? –
@Erlandsson это шаблон RegEx, мы будем определять действительные строки шаблонов регулярных выражений в значении – yathirigan