@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
的对象仍包含旧值
有什么解决方案可以刷新弹簧对象吗?
您可以为此使用AbstractRefreshableApplicationContext。它提供了在运行时重新加载Bean配置的方法。
如果您使用的是弹簧靴,则可以将@RefreshScope注释与弹簧执行器一起使用。弹簧执行器端点/refresh
重新加载以@RefreshScope注释的bean。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句