Mam String, że jestem autowiring jako fasoli. Wartość dla String
jest ustawiana za pośrednictwem pliku właściwości i jest ładowana w środowisku wykonawczym. Tyle mogę zweryfikować. Tu jest mój XML:Jak zaktualizować wartość @Autowired bean fasoli na wiosnę?
<context:property-placeholder location="classpath:my-app.properties" />
<bean id="loadedProp" class="java.lang.String">
<constructor-arg>
<value>${loaded-prop}</value>
</constructor-arg>
</bean>
A w mojej aplikacji autowire w fasoli:
@Component
public class Foo {
@Autowired
private String loadedProp;
}
Wszystko działa dandys. Mam wiele komponentów, które są automatycznie programowane w tym komponencie bean. Próbuję zrobić, podczas gdy aplikacja jest uruchomiona, aktualizować wartość fasoli, aby była czymś innym, więc wszędzie tam, gdzie komponuje się ziarno, używa najbardziej aktualnej wartości. Czy można to zrobić, czy po prostu muszę ponownie uruchomić za każdym razem, gdy chcę zmienić wartość?
Możliwy duplikat http://stackoverflow.com/questions/2008175/apply-dynamic-properties-to-a-bean-at-runt – beny23
ten link może ci pomóc http://forum.springsource.org/archive /index.php/t-37557.html spójrz na ostatni wpis: –
@ beny23 Ah, dziękuję. To nie pojawiało się w moich poszukiwaniach. – Pat