#java #spring #spring-boot #spring-mvc
#java #spring #spring-загрузка #spring-mvc
Вопрос:
у меня есть в каком-то приложении Spring в application-lcl.properties строка с :
key1=value1
Я хочу использовать значение key1 в другом XML, подобном этому :
<appender name="ELASTIC" class="com.internetitem.logback.elasticsearch.ElasticsearchAppender">
<url>${key1}</url>
${key1} не работает. Вы знаете, как это сделать? (.xml уже существует)
Спасибо
Комментарии:
1. Вы не можете использовать замену свойств Spring за пределами компонентов, управляемых Spring. В этом случае Spring не будет обрабатывать
logback.xml
файл для замены свойства.
Ответ №1:
Это двухэтапный процесс
-
Загрузить файл свойств в java.util.java.util.Объект класса свойств.
-
Используйте
Properties.storeToXML()
метод для записи содержимого в формате XMLСтрока inPropertiesFile = «application.properties»; Строка outXmlFile = «applicationProperties.xml «;
Входной поток = новый FileInputStream (inPropertiesFile); //Входной файл OutputStream os = новый FileOutputStream(outXmlFile); // Выходной файл
Properties props = новые свойства(); props.load(есть);
props.storeToXML(os, «application.properties», «UTF-8»);
Комментарии:
1. привет, файл xml уже существует, и я не могу добавить к нему новые строки через InputStream
Ответ №2:
в XML поместите
<springProperty name="value1" source="key1"/>
а затем используйте его, вызвав
<url>${value1}</url>