2016-10-14 4 views
0

Какой самый простой способ получить весеннюю ботинок, но не пытаться автоконфигурировать все вещи? Например, чтобы работать только пролетный с нашими уже настроенными свойствами (некоторые загружены через консул + Spring Cloud), я надеялся, что я мог бы сделать что-то вроде:Программно настроить приложение Spring Boot

@Configuration 
@Import({DataSourceAutoConfiguration.class, FlywayAutoConfiguration.class}) 
public class FlywaySetup {} 

и есть основной метод просто вызвать SpringApplication.run(FlywaySetup.class)

Проблема с этим заключается в том, что он подбирает весь список компонентных сканеров/сумасшедший длинный список других зависимостей. Любой способ специально сконфигурировать зависимости (но все равно получить преимущества структуры)

ответ

0

Вы можете исключить автоконфигурации, которые вам не нужны.

Возможно, вы захотите взглянуть на this SO answer, чтобы изучить механизм, как это сделать.

1

Если вы запустите это приложение, он не должен использовать проверку компонентов вообще. Нет ничего, что запускает сканирование компонентов в весеннем ботинке, кроме @ComponentScan (доступно на @SpringBootApplication).

Это поможет, если вы можете предоставить более точные данные, а не «сумасшедший длинный список других зависимостей». Запуск этого FlywaySetup должен загружать только те две конфигурации (важно: они больше не обрабатываются как автоматическая настройка). Если у вас есть проверка компонентов, есть что-то еще, что вы не показываете.

+0

Оцените ответ. Трудно вырезать детали без всего приложения, но по существу в основном методе я проверяю несколько аргументов и, если они есть, запустите это альтернативное приложение. Тем не менее, Spring web/data/etc загружает все автозагрузки из этого оператора одиночного запуска (в дополнение ко всем моим классам @Controller и тому подобное). Разве весна.факторов и не загружается и не обрабатывается автоматически? –

+0

Я уже ответил на это в своем ответе (нет, если у вас нет '@ EnableAutoConfiguration', которого нет в вашем примере). Я не могу помочь вам с деталями, которыми вы делитесь, извините. –

Смежные вопросы