Загрузка конфигурации: JVM запускает метод main
. Spring Boot автоматически определяет класс с методом main
и запускает процесс автоконфигурации. Ищет аннотации @SpringBootApplication
(или ее композицию).
Создание контекста приложения: Spring создает ApplicationContext
. Это центральный интерфейс, который предоставляет конфигурацию для приложения. Контекст управляет жизненным циклом бинов.
Сканирование компонентов: Spring сканирует указанные пакеты (по умолчанию — пакет, содержащий основной класс приложения) на наличие аннотаций, указывающих на Spring-компоненты (@Component
, @Service
, @Repository
, @Controller
и их специализации).
Создание и внедрение бинов: Для найденных компонентов Spring создает экземпляры (бины) и управляет их зависимостями, используя механизм внедрения зависимостей (Dependency Injection) через аннотации @Autowired
, @Resource
, конструкторы или сеттеры.
Автоконфигурация: Spring Boot на основе classpath, свойств приложения и других факторов автоматически настраивает различные компоненты, такие как источник данных, Web-сервер (например, Tomcat по умолчанию), Spring MVC, JPA и т.д. Например, если есть зависимость spring-boot-starter-web
, Spring Boot автоматически настраивает встроенный веб-сервер и Spring MVC.
Запуск встроенного веб-сервера: Если приложение веб-типа, Spring Boot запускает интегрированный веб-сервер (Tomcat, Undertow или Jetty), который слушает входящие HTTP-запросы на определенном порту (по умолчанию 8080).
Инициализация Spring MVC (для веб-приложений):
DispatcherServlet
— центральный сервлет Spring MVC, который обрабатывает все входяЗагрузка конфигурации: JVM запускает метод main
. Spring Boot автоматически определяет класс с методом main
и запускает процесс автоконфигурации. Ищет аннотации @SpringBootApplication
(или ее композицию).
Создание контекста приложения: Spring создает ApplicationContext
. Это центральный интерфейс, который предоставляет конфигурацию для приложения. Контекст управляет жизненным циклом бинов.
Сканирование компонентов: Spring сканирует указанные пакеты (по умолчанию — пакет, содержащий основной класс приложения) на наличие аннотаций, указывающих на Spring-компоненты (@Component
, @Service
, @Repository
, @Controller
и их специализации).
Создание и внедрение бинов: Для найденных компонентов Spring создает экземпляры (бины) и управляет их зависимостями, используя механизм внедрения зависимостей (Dependency Injection) через аннотации @Autowired
, @Resource
, конструкторы или сеттеры.
Автоконфигурация: Spring Boot на основе classpath, свойств приложения и других факторов автоматически настраивает различные компоненты, такие как источник данных, Web-сервер (например, Tomcat по умолчанию), Spring MVC, JPA и т.д. Например, если есть зависимость spring-boot-starter-web
, Spring Boot автоматически настраивает встроенный веб-сервер и Spring MVC.
Запуск встроенного веб-сервера: Если приложение веб-типа, Spring Boot запускает интегрированный веб-сервер (Tomcat, Undertow или Jetty), который слушает входящие HTTP-запросы на определенном порту (по умолчанию 8080).
Инициализация Spring MVC (для веб-приложений):
DispatcherServlet
— центральный сервлет Spring MVC, который обрабатывает все входяRegister or sign in to get access to full answers for all questions from the question bank.