gpt4 book ai didi

java - 设置新配置后如何更新所有 Spring 对象?

转载 作者:搜寻专家 更新时间:2023-11-01 03:19:08 25 4
gpt4 key购买 nike

如何在动态配置更改后刷新以前的 @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 对象仍然包含旧值

有没有刷新spring对象的解决方案?

最佳答案

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

如果你使用的是 spring boot 那么你可以使用 @RefreshScope带有 spring actuator 的注释. Spring 执行器端点 /refresh 重新加载用 @RefreshScope 注释的 bean。

关于java - 设置新配置后如何更新所有 Spring 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36501508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com