【问题标题】:Does @SpringBootApplication scans test folder for configurations?@SpringBootApplication 是否扫描测试文件夹以获取配置?
【发布时间】:2022-01-02 10:39:25
【问题描述】:

我的 Spring Boot 应用程序的主类中有一个 @SpringBootApplication 注释,具有普通文件夹结构(@SpringBootApplication 是上一级包,然后是其他包中的 bean)

我在一些包中定义了一些@Configuration 类,但在test 文件夹下。

@SpringBootApplication会在启动应用时自动配置吗?

当测试开始时@SpringBootTest(它也是上一级但在test文件夹中)找到它时,@SpringBootApplication会自动配置它吗?

【问题讨论】:

    标签: spring spring-boot spring-boot-test spring-autoconfiguration


    【解决方案1】:

    我不完全确定,但我会说不,@SpringBootApplication 不会扫描您的测试文件夹中的 @Configuration 类。您应该改用@TestConfiguration,然后在您的@SpringBootTest 中添加@Import(YourTestConfiguration.class)。在下面找到一个例子:

    @TestConfiguration
    public class YourTestConfiguration {
        @Bean
        (...)
    }
    
    @SpringBootTest
    @Import(YourTestConfiguration.class)
    class AppTests {
        (...)
    }
    

    您可以在以下在线资源中阅读更多相关信息并查看完整示例:

    【讨论】:

    • 是的,你是对的:应该使用@Import(YourTestConfiguration.class),还是谢谢你。但不幸的是,我需要我的问题的确切答案
    • 嗯,确切的答案是@Configuration 类不会被@SpringBootApplication 扫描。
    • 我从我的代码中看到它已被扫描...让我们看看其他人怎么说和投票,我进行了实验,但可能实验设置错误..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 2021-11-29
    • 1970-01-01
    相关资源
    最近更新 更多