gpt4 book ai didi

Spring 混合 XML/注释配置与覆盖

转载 作者:行者123 更新时间:2023-12-02 05:06:02 25 4
gpt4 key购买 nike

我正在努力建立一个实用程序,让我们加载一个基于注释的配置来覆盖 XML 配置(用于测试)。我尝试了多种不同的设置,但这是我唯一可以使用的设置:

GenericApplicationContext firstCtx = new GenericApplicationContext();

XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(firstCtx );
xmlReader.loadBeanDefinitions("applicationContext.xml");

GenericApplicationContext ctx = new GenericApplicationContext();

AnnotatedBeanDefinitionReader annotatedReader = new AnnotatedBeanDefinitionReader(ctx);
annotatedReader.register(SomeConfigClass.class);

ctx.refresh();

for (String currBeanName : firstCtx.getBeanDefinitionNames())
{
if (!ctx.containsBeanDefinition(currBeanName))
{
ctx.registerBeanDefinition(currBeanName, firstCtx.getBeanDefinition(currBeanName));
}
}

虽然这在技术上确实有效,但这似乎是一种非常麻烦的方法。有没有更好的方法来加载基于注释的配置而不是基于 XML 的配置?

谢谢!

最佳答案

我认为更简单的方法是简单地声明 SomeConfigClass作为应用程序上下文中的 bean,将连接到 SomeConfigClass 中配置的 bean。

<bean class="..SomeConfigClass"/>

<context:component-scan base-package="package of SomeConfigClass"/>

或者反过来,在 SomeClassClass 中,执行 @ImportResource("applicationContext.xml")

关于Spring 混合 XML/注释配置与覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11658626/

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