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