Ответ
Основной интерфейс: org.springframework.context.ApplicationContext — это центральный контейнер Inversion of Control (IoC), управляющий жизненным циклом бинов, их конфигурацией и зависимостями.
Ключевые обязанности:
- Создание и связывание бинов на основе конфигурации (XML, аннотации, Java-код).
- Управление жизненным циклом (вызов методов инициализации и уничтожения).
- Предоставление доступа к бинам и переменным окружения.
Основные реализации:
ClassPathXmlApplicationContext— для XML-конфигурации в classpath.ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");AnnotationConfigApplicationContext— для конфигурации через Java-классы и аннотации.ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);WebApplicationContext— специализация для веб-приложений.
Важные методы:
T getBean(Class<T> requiredType)— получить бин по типу.Object getBean(String name)— получить бин по имени.boolean containsBean(String name)— проверить существование бина.Environment getEnvironment()— получить доступ к профилям и свойствам.
В Spring Boot контейнер создается автоматически через аннотацию @SpringBootApplication, которая включает сканирование компонентов и автоконфигурацию.