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

Как подключить бин к своему классу из контекста

В Spring есть несколько способов внедрения бинов в ваш класс:

  1. Через аннотацию @Autowired (автоматическое связывание):
java
@Service
public class MyService {
    @Autowired
    private OtherService otherService;
}
  1. Через конструктор (рекомендуемый способ):
java
@Service
public class MyService {
    private final OtherService otherService;
    
    public MyService(OtherService otherService) {
        this.otherService = otherService;
    }
}
  1. Через setter-метод:
java
@Service
public class MyService {
    private OtherService otherService;
    
    @Autowired
    public void setOtherService(OtherService otherService) {
        this.otherService = otherService;
    }
}
  1. Через @Resource (JSR-250) или @Inject (JSR-330):
java
@Service
public class MyService {
    @Resource
    private OtherService otherService;
}

Все бины должны быть помечены соответствующими аннотациями (@Component, @Service, @Repository и т.д.) и находиться в сканируемом пакете.

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

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

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

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