Это
ApplicationContext, настоящее сердце Spring Boot.Объясняю проще:
В Spring Boot
ApplicationContext это центральный контейнер времени выполнения, который управляет компонентами вашего приложения, называемыми beans (бинами).Он отвечает за загрузку конфигураций, создание и связывание бинов, управление их жизненным циклом и предоставляет такие сервисы, как загрузка ресурсов, интернационализация, доступ к окружению/профилям и публикация событий приложения.
Когда контекст обновляется (например, при старте приложения), он читает источники конфигурации (аннотации, свойства, XML и автоконфигурацию), регистрирует
BeanPostProcessors и BeanFactoryPostProcessors, и по умолчанию заранее создаёт синглтон-бины, чтобы они были готовы к использованию.Обычно вы взаимодействуете с бинами через dependency injection, а не через их поиск, но вы можете получить бин программно с помощью
getBeanSpring Boot строится поверх Spring, используя
ApplicationContext для регистрации и конфигурации авто-конфигурируемых бинов, что позволяет использовать конвенции "из коробки".ConfigurableApplicationContext предоставляет операции жизненного цикла, такие как refresh() и close(), а также публикует события жизненного цикла, такие как ContextRefreshedEventСуществуют различные реализации
ApplicationContext для разных случаев использования, например, AnnotationConfigApplicationContext для Java-конфигурации и WebApplicationContext для веб-приложений.Вкратце,
ApplicationContext это сердце Spring Boot, потому что многое из поведения фреймворка, включая управление бинами, конфигурацию и точки интеграции, организовано и обслуживается через него. Он поддерживает иерархии контекстов для изоляции в модульных приложениях и обеспечивает надёжное разрешение ресурсов.👉 Java Portal