Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Spring: applicationcontext, context

Много ли контекстов может быть в Spring?

Этот вопрос проверяет знание концепции контекста приложения (ApplicationContext) и его возможностей в Spring.

Короткий ответ

В Spring может быть несколько контекстов приложения. Обычно используется один корневой контекст, но можно создавать дочерние контексты для изоляции бинов и настройки их взаимодействия.

Длинный ответ

Контекст приложения (ApplicationContext) — это контейнер Spring, который управляет созданием и жизненным циклом бинов. Возможность создавать несколько контекстов помогает структурировать сложные приложения.

Один или несколько контекстов:

  • В простых приложениях часто используется один корневой контекст.

  • В сложных приложениях можно создать иерархию контекстов: корневой и дочерние.

Зачем нужны несколько контекстов:

  • Разделение логики: например, отделение веб-слоя от бизнес-слоя.

  • Изоляция: каждый контекст может содержать свои бины, которые не видны другим контекстам.

  • Повторное использование: общий корневой контекст может предоставлять бины нескольким дочерним контекстам.

Пример: В приложении на основе Spring MVC обычно создаются два контекста:

  • Корневой контекст (например, бизнес-логику и доступ к данным).

  • Веб-контекст, содержащий бины веб-слоя (например, контроллеры).

Создание нескольких контекстов:

ApplicationContext parentContext = new AnnotationConfigApplicationContext(ParentConfig.class);
AnnotationConfigApplicationContext childContext = new AnnotationConfigApplicationContext();
childContext.setParent(parentContext);
childContext.register(ChildConfig.class);
childContext.refresh();

Заключение:
Несколько контекстов полезны для сложных приложений с несколькими уровнями изоляции или различными областями ответственности.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Spring

    Spring

Ключевые слова

#applicationcontext

#context

Подпишись на Java Developer в телеграм