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

Какие знаешь способы инъекции Bean

В Spring есть несколько способов внедрения зависимостей (Dependency Injection):

  1. Через конструктор (рекомендуемый способ):
java
@Service
public class MyService {
    private final MyRepository repository;
    
    @Autowired
    public MyService(MyRepository repository) {
        this.repository = repository;
    }
}
  1. Через сеттер:
java
@Service
public class MyService {
    private MyRepository repository;
    
    @Autowired
    public void setRepository(MyRepository repository) {
        this.repository = repository;
    }
}
  1. Через поле (не рекомендуется, нарушает инкапсуляцию):
java
@Service
public class MyService {
    @Autowired
    private MyRepository repository;
}
  1. Через метод (любой метод с @Autowired):
java
@Service
public class MyService {
    private MyRepository repository;
    
    @Autowired
    public void configure(MyRepository repository) {
        this.repository = repository;
    }
}

Начиная с Spring 4.3, если у класса только один конструктор, @Autowired можно опустить. Также можно использовать Lombok для автоматического создания конструктора через @RequiredArgsConstructor.

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

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

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

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