设置新配置后如何更新所有弹簧对象?

青少年

@Autowired动态配置更改后如何刷新以前的spring对象?

// Here is my updateConfig method

GenericApplicationContext context = new GenericApplicationContext();
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(context);
reader.loadBeanDefinitions(new ClassPathResource("applicationContext.xml"));
context.refresh();

myApplicationContextAware.setApplicationContext(context);

随着myApplicationContextAware.applicationContext.getBean(MyClass.class)我可以通过新配置的新实例,但所有@Autowired的对象仍包含旧值

有什么解决方案可以刷新弹簧对象吗?

11维

您可以为此使用AbstractRefreshableApplicationContext它提供了在运行时重新加载Bean配置的方法。

如果您使用的是弹簧靴,则可以将@RefreshScope注释与弹簧执行器一起使用弹簧执行器端点/refresh重新加载以@RefreshScope注释的bean。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章