Я пытаюсь взять строку из свойств, запустить операцию над ней, а затем сохранить ее как переменную с аннотацией @Value
. К сожалению, когда я использую синтаксис #{'${variable}'}
, который мне нужен для использования SpEL, строка изменяется. Если у меня есть две двойные кавычки (""
), они заменяются на одну двойную кавычку ("
), которая не позволяет мне десериализовать строку. Как запретить Spring удалить эту 2-ю кавычку?
myProperties.properties
myValue={"myWorkingKey": "Hi!", "myNonWorkingKey": ""}
MyClass.java
public class MyClass {
@Value("#{'${myValue}'}")
public void printWithSpEL(String withSpEL){
System.out.println(withSpEL);
}
@Value("${myValue}")
public void printWithOut(String without){
System.out.println(without);
}
}
результат после запуска:
{"myWorkingKey": "Hi!", "myNonWorkingKey": "}
{"myWorkingKey": "Hi!", "myNonWorkingKey": ""}