spring 为什么在src/test中更喜欢@TestConfiguration而不是@Configuration

nkkqxpd9  于 4个月前  发布在  Spring
关注(0)|答案(2)|浏览(58)

我目前正在深入研究@TestConfiguration,我想知道为什么要使用这个组合。

@TestConfiguration
public class TestConfig {
    
    // some bean definitions

字符串
并且然后使用

@SpringBootTest
@Import(TestConfig.class)
class UsingImport {

@Autowired
ConfigBean configBean;

// some code


在src/test中不使用经典的@Configuration,因为它是完全法律的。为什么@TestConfiguration的真实的目的是,我们可以用@Configuration做同样的事情?
我说错了吗?

knsnq2tg

knsnq2tg1#

@TestConfiguration
@Configuration,可用于为测试定义额外的bean或自定义。与常规@Configuration类不同,@TestConfiguration的使用不会阻止@SpringBootConfiguration的自动检测。

m2xkgtsf

m2xkgtsf2#

@TestConfiguration和常规@Configuration的主要区别在于,标记有通常的@Configuration注解的类会自动包含在应用程序上下文中,因为扫描会识别此注解。而标记有@TestConfiguration的类不会受到扫描,并且您必须手动导入每个测试的配置,让您可以灵活地控制该测试所需的bean数量

相关问题