如何避免Spring Boot加载EmbeddedWebApplicationContext?

时间:2015-03-23 09:35:54

标签: java spring spring-mvc apache-camel spring-boot

我有一个带Camel-HTTP的Spring Boot集成应用程序。由于Camel-HTTP与geronimo-servlet有依赖关系,因此Spring Boot正在尝试加载Web应用程序上下文。

如何强制Spring不加载EmbeddedWebApplicationContext

我尝试使用org.springframework.boot.autoconfigure.web注释排除@EnableAutoConfiguration(exclude = ...)中找到的所有自动配置类。

2 个答案:

答案 0 :(得分:14)

您可以使用SpringApplicationBuilder类显式禁用加载Web环境和上下文, 即在你的主要班级:

public static void main(String[] args) {
    new SpringApplicationBuilder(MainConfig.class).web(false).run(args);
}

答案 1 :(得分:0)

您可以尝试使用@ContextConfiguration注释:

@ContextConfiguration(loader = SpringApplicationCtxtLoader.class, classes = annotatedClass.class)

annotatedClass.classannotated的类,例如:@Component@Service@Repository

this回答中,这是用于测试目的的建议方法,但我认为它可能会对您有所帮助