gpt4 book ai didi

java - 如何将 Static ListableBeanFactory 与 ClassPathXmlApplicationContext 连接起来?

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

在我的测试用例设置中,我有这段代码:

    ApplicationContext context = new ClassPathXmlApplicationContext(
"spring/common.xml"
);
StaticListableBeanFactory testBeanFactory = new StaticListableBeanFactory();

我如何以这样的方式连接两者,以便测试可以在设置期间在 testBeanFactory 中注册 bean,而应用程序的其余部分使用它们而不是 common.xml 中定义的那些?

注意:我需要混合使用静态 (common.xml) 和动态配置。我不能为后者使用 XML,因为那意味着要编写 > 1000 个 XML 文件。

最佳答案

您可以使用 ConfigurableListableBeanFactory.registerSingleton() 代替 StaticListableBeanFactory.addBean():

ApplicationContext context = new ClassPathXmlApplicationContext(
"spring/common.xml"
);

GenericApplicationContext child = new GenericApplicationContext(context);

child.getBeanFactory().registerSingleton("foo", ...);

关于java - 如何将 Static ListableBeanFactory 与 ClassPathXmlApplicationContext 连接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3005380/

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