gpt4 book ai didi

java - 继承上下文配置并扩展位置

转载 作者:太空宇宙 更新时间:2023-11-04 14:08:55 25 4
gpt4 key购买 nike

我有用于测试数据库包的类:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:DatabaseBeanLocations.xml" })
public abstract class AbstractDatabaseTest extends AbstractTransactionalJUnit4SpringContextTests {
...
}

用于测试另一个包,例如后端:

public class BackendTest extends AbstractDatabaseTest {
...
}

因此这个BackendTest类从AbstractDatabaseTest继承了ContextConfiguration。但我想添加另一个 xml 文件,例如: BackendBeansLocations.xml

实现此目的的一种方法是忽略父类(super class)中的locations:

@ContextConfiguration(inheritLocations = false, 
locations = {"classpath:BackendBeansLocations.xml", "classpath:DatabaseBeanLocations.xml" })
public class JobExecutorTest extends AbstractDatabaseTest {

但是随后 DatabaseBeanLocations.xml 被重复,这违反了 DRY 规则。有办法避免这种情况吗?继承位置,但也可以通过添加新位置来扩展它们。

最佳答案

在您的 BackendBeansLocations.xml 中,只是<import> DatabaseBeanLocations.xml 。然后,在 JobExecutorTest ,只需导入classpath:BackendBeansLocations.xml

这样您就可以遵守 DRY,继承 aspcet 只是从注释中移出到 XML 文件。

关于java - 继承上下文配置并扩展位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28567753/

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