Spring boot 如何覆盖spring的导入注释

Spring boot 如何覆盖spring的导入注释,spring-boot,Spring Boot,我有一个spring启动应用程序。在用@SpringBootApplication注释的主类中,我使用导入注释导入了一些配置 @SpringBootApplication @Import({ MyConfiguration.class }) public class MySpringBootApp { public static void main(String[] args) { new SpringApplicationBuilder(MySpringBootApp

我有一个spring启动应用程序。在用@SpringBootApplication注释的主类中,我使用导入注释导入了一些配置

@SpringBootApplication
@Import({ MyConfiguration.class })
public class MySpringBootApp {

    public static void main(String[] args) {
        new SpringApplicationBuilder(MySpringBootApp.class).build().run(args);
    }
}
现在,当我运行junit测试类(用@RunWithSpringRunner.class注释)时,它会加载应用程序,主类中导入的配置类也会加载,这就是MyConfiguration

@RunWith(SpringRunner.class)
public class MyTest {
....
}

是否有方法覆盖导入,以便在运行测试时不加载MyConfiguration。

我知道您需要使用SpringRunner,但您希望使用不同的配置。在这种情况下,只需使用@ContextConfigurationclasses=SomeConfigurationClass.class注释测试类

所以看起来是这样的:

@RunWith(SpringRunner.class)
@ContextConfiguration(classes = SomeConfigurationClass.class)
public class MyTest {
....
}
如果您不需要任何Spring容器,只需删除@RunWith