Получить доступ

Что делает аннотация @SpringBootApplication?

JuniorSpring Boot и ActuatorSpring Boot
Ещё спрашивают так:
  • Из чего состоит @SpringBootApplication?
Коротко

Составная аннотация: @SpringBootConfiguration (по сути @Configuration), @EnableAutoConfiguration и @ComponentScan от пакета класса.

  • Поэтому главный класс кладут в корневой пакет — иначе компоненты не найдутся
  • exclude — исключить автоконфигурацию
  • Запуск — SpringApplication.run(App.class, args)

А ещё scanBasePackages — сканировать другие пакеты

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Практически важна третья часть: сканирование идёт начиная с пакета аннотированного класса, поэтому классы, лежащие вне его дерева, просто не будут найдены — это самая частая причина ошибки «бин не найден» у новичков. Отсюда и соглашение размещать главный класс в корневом пакете приложения. Автоконфигурация подключает не всё подряд, а только то, что уместно при текущем наборе зависимостей и настроек.

Что хотят услышать

  • Три составляющие.
  • Значение расположения главного класса.

Частые ошибки

  • Размещать главный класс в пакете, не покрывающем остальной код.
  • Считать, что автоконфигурация включает все возможные компоненты.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Объединяет три аннотации: конфигурацию, включение автоконфигурации и сканирование компонентов текущего пакета с подпакетами
  • ✗Запускает встроенный веб-сервер и ничего больше
  • ✗Помечает класс как точку входа для JVM вместо метода main
  • ✗Подключает все стартеры, доступные в репозитории

Что спросят дальше

  • Как автоконфигурация решает, что подключать?
  • Как переопределить настройку, заданную автоконфигурацией?

Разбор темы

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем