gpt4 book ai didi

java - 刷新 Spring ApplicationContext,而不重新初始化上下文,可能吗?

转载 作者:行者123 更新时间:2023-11-30 09:39:41 25 4
gpt4 key购买 nike

我正在使用 JUnit 进行一些集成测试。我有一个 xml 文件,我在其中声明了一些我想注入(inject)的模板实体。在每个测试中,我都需要一个新的应用程序上下文,即没有测试应该依赖/耦合其他测试,所以在 setUp() 上我需要根据它们的默认起始值​​“重新初始化”这些实体.

我可以通过重载来实现,但是这样我就不能使用@Autowired注解了。

@Before
public void setUp(){
ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:entityTemplates-Context.xml");
homeA = (Home)ctx.getBean("homeA");
}

有没有办法做到这一点,并且仍然对这些实体使用 @Autowired

最佳答案

你看过Spring对集成测试的支持吗?

http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/testing.html

我的团队将其用于我们需要 Spring 容器的集成测试。您每次测试都会获得一个新的上下文,尽管这会显着降低测试速度。

关于java - 刷新 Spring ApplicationContext,而不重新初始化上下文,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9734948/

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