Встречается на собеседованиях • сегодня

Как получить Bean из ApplicationContext в Spring

В Spring можно получить Bean из ApplicationContext несколькими способами:

  1. Через метод getBean():
java
ApplicationContext context = ...;
MyBean bean = context.getBean(MyBean.class);
// или по имени
MyBean bean = (MyBean) context.getBean("myBean");
  1. Через аннотацию @Autowired (рекомендуемый способ):
java
@Autowired
private MyBean myBean;
  1. Через ApplicationContextAware:
java
@Component
public class MyComponent implements ApplicationContextAware {
    private ApplicationContext context;

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

    public MyBean getBean() {
        return context.getBean(MyBean.class);
    }
}

Прямое использование getBean() считается anti-pattern, лучше использовать dependency injection через @Autowired.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы