Можно ли использовать переменную в файлах свойств Spring?

У меня есть некоторые свойства в моем файле config.properties весной, например:

админип=182.178.22.21

URL-адрес сайта=//182.178.22.21:4056/тест

Я хочу использовать adminip в других свойствах того же файла (config.properties) в качестве переменной; что-то вроде этого:

админип=182.178.22.21

веб-сайтurl=//${adminip}:4056/тест

Является ли это возможным? собственно админип избыточен в других свойствах.


person Touraj Ebrahimi    schedule 09.02.2016    source источник
comment
config.properties определяется в файле dispatcher-servlet.xml следующим образом:‹context:property-placeholder location=classpath:config.properties/›   -  person Touraj Ebrahimi    schedule 09.02.2016
comment
вы не можете просто определить port=4056 url=test в файле свойств и в конфигурации, когда хотите заменить use myUrl=${adminip}:${port}/${url}?   -  person hudi    schedule 09.02.2016


Ответы (2)


В spring-boot вы можете использовать заполнители, как здесь https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-placeholders-in-properties

Таким образом, ваша порперти будет

adminip=182.178.22.21

websiteurl=${adminip}:4056/test
person marok    schedule 09.02.2016

это невозможно сделать в файле *.properties, но вы можете изменить код и сделать что-то вроде:

String adminip = ...;
 String websiteurl = String.format("//%s:4056/test", adminip);
person hahn    schedule 09.02.2016