Как я могу избежать Spring Загрузка из загрузки EmbeddedWebApplicationContext?

У меня есть приложение для интеграции с загрузкой Spring с Camel-HTTP. Поскольку Camel-HTTP имеет зависимость от geronimo-servlet Spring Boot пытается загрузить контекст веб-приложения.

Как заставить Spring не загружать EmbeddedWebApplicationContext?

Я попытался исключить все классы AutoConfiguration, найденные в org.springframework.boot.autoconfigure.web, с помощью аннотации @EnableAutoConfiguration(exclude = ...).

Ответ 1

Вы можете использовать класс SpringApplicationBuilder, чтобы явно отключить загрузку веб-среды и контекста, т.е. в вашем основном классе:

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

Ответ 2

Вы можете попробовать использовать аннотацию @ContextConfiguration:

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

annotatedClass.class - это класс аннотированный, например: @Component, @Service, @Repository.

В этом ответьте, что это рекомендуемый подход для тестирования, но я думаю, что это может помочь вам