Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: spring, dependency injection, applicationcontext

Как достать бин из ApplicationContext?

Вопрос проверяет знание способов получения бинов в Spring.

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

Основные способы:

  1. Через @Autowired (рекомендуется)

  2. Через ApplicationContext.getBean()

  3. Через реализацию ApplicationContextAware

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

1. Инъекция зависимостей (@Autowired):

@Service
public class MyService {
    @Autowired
    private OtherService otherService; // Spring внедрит бин
}

2. Через ApplicationContext:

@Autowired
private ApplicationContext context;

public void method() {
    MyService service = context.getBean(MyService.class);
}

3. Через ApplicationContextAware:

@Component
public class MyBean implements ApplicationContextAware {
    private ApplicationContext context;

    @Override
    public void setApplicationContext(ApplicationContext ctx) {
        this.context = ctx;
    }
}

Рекомендации:

  • Предпочитать @Autowired прямому доступу

  • Избегать getBean() в application-коде

Уровень

  • Рейтинг:

    1

  • Сложность:

    6

Навыки

  • Java

    Java

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

#spring

#dependency injection

#applicationcontext

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