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

2023-12-10

怎么刷新之前的@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);

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

有没有办法刷新spring对象?


您可以使用抽象可刷新应用程序上下文为了这。它提供了在运行时重新加载 bean 配置的方法。

如果您使用的是 Spring Boot 那么您可以使用@RefreshScope注释与弹簧执行器。弹簧执行器端点/refresh重新加载用@RefreshScope注释的bean。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置新配置后如何更新所有 spring 对象? 的相关文章

随机推荐