Как мне обновить значение бина @Autowired String в Spring?

У меня есть строка, которую я автоматически подключаю как bean-компонент. Значение для String устанавливается через файл свойств и загружается во время выполнения. Это я могу проверить. Вот мой XML:

<context:property-placeholder location="classpath:my-app.properties" />

<bean id="loadedProp" class="java.lang.String">
   <constructor-arg>
      <value>${loaded-prop}</value>
   </constructor-arg>
</bean>

А в моем приложении я автоматически подключаю bean-компонент:

@Component
public class Foo {

  @Autowired
  private String loadedProp;
}

Все работает отлично. У меня есть несколько компонентов, которые автоматически подключаются к этому компоненту. Я пытаюсь сделать во время работы приложения обновить значение bean-компонента, чтобы оно было чем-то другим, чтобы везде, где bean-компонент был автоматически подключен, он использовал самое актуальное значение. Возможно ли это сделать, или мне просто нужно перезапускать каждый раз, когда я хочу изменить значение?

10
задан Pat 9 February 2012 в 15:40
поделиться