gpt4 book ai didi

java - spring 和 junit bean 注入(inject)和实例化

转载 作者:行者123 更新时间:2023-11-30 07:18:09 27 4
gpt4 key购买 nike

我有多个测试类,其中有内部 autowired 字段 - databaseConnectiondataSource 的实例。

类似的东西

<bean id="dataSource">
<property name="url" value="jdbc:..."/>
....
</bean>

<bean id="databaseConnection">
<constructor-arg name="connection" value="# { dataSource.getConnection() }"/>
....
</bean>

我的基测试类有标准注释

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(value = {"path/to/context.xml"})
@DirtiesContext(classMode = ClassMode.AFTER_CLASS)
public abstract class BaseRepositoryTest { }

据我所知,junit 为类内的每个测试创建新的类实例。所以我认为每次都会连接 bean 。我说得对吗?

所以我的问题是 spring 每次都会初始化上下文 - 我的意思是初始化 datasourcedatabaseConnection beans?

最佳答案

如果扩展相同的基本集成类,答案是否定的。

所有扩展 BaseRepositoryTest 的类在创建后都将重用上下文。

http://docs.spring.io/spring/docs/current/spring-framework-reference/html/integration-testing.html#testing-ctx-management

关于java - spring 和 junit bean 注入(inject)和实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38054041/

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