Как я могу избежать 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
.
В этом ответьте, что это рекомендуемый подход для тестирования, но я думаю, что это может помочь вам