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

nkkqxpd9  于 2024-01-05  发布在  Spring
关注(0)|答案(2)|浏览(281)

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

  1. @TestConfiguration
  2. public class TestConfig {
  3. // some bean definitions

字符串
并且然后使用

  1. @SpringBootTest
  2. @Import(TestConfig.class)
  3. class UsingImport {
  4. @Autowired
  5. ConfigBean configBean;
  6. // some code


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

knsnq2tg

knsnq2tg1#

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

m2xkgtsf

m2xkgtsf2#

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

相关问题