Я использую Spring Boot.Невозможно импортировать значение свойства при использовании заполнителя
Я объявлял свойства во внешнем файле вне пути к классам.
Я добавил, что один из моих файлов XML:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="ignoreResourceNotFound" value="true" />
<property name="locations">
<list>
<value>file:///d:/etc/services/pushExecuterService/pushExecuterServices.properties</value>
</list>
</property>
</bean>
Однако, я все еще получаю эту ошибку:
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'configuration.serviceId' in string value "${configuration.serviceId}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:174)
я добавил точку останова в PropertiesLoaderSupport
классе в этом методе:
public void setLocations(Resource... locations) {
this.locations = locations;
}
Я обратил внимание, что этот метод вызывается несколько раз, и в одном из них я заметил локализацию ns param населен с:
URL [file:/d:/etc/services/pushExecuterService/pushExecuterServices.properties]
Тем не менее, я все еще получаю эту ошибку.
я дважды проверил в моем проекте, и я не имею никаких дополнительных бобы PropertyPlaceholderConfigurer (проверка Didnt на внешних зависимости)
Я выбежал мое приложение с жестким кодом в Params внутри XML я могу видеть в весной -boot журналы:
2015-01-05 18:56:52.902 INFO 7016 --- [ main] o.s.b.f.c.PropertyPlaceholderConfigurer: Loading properties file from URL [file:/d:/etc/services/pushExecuterService/pushExecuterServices.properties]`
Так что я не уверен, что происходит. любые выводы?
спасибо.
Одна вещь, которую вы должны сделать, это переписывайте свой заголовок, чтобы он был полным предложением и исправил e вопросы правописания и форматирования (хотя я вижу только пару на первый взгляд) в вопросе. –
Готово. Спасибо. – rayman
Просто заметили, что вы используете Spring Boot, вы должны просто добавить свои свойства в 'application.properties', вы сражаетесь с каркасом, а не работаете с ним. –