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

Как можно внедрять зависимости в Spring

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

  1. Через конструктор (рекомендуемый способ)
java
@Service
public class UserService {
    private final UserRepository repository;
    
    @Autowired // можно опустить начиная с Spring 4.3
    public UserService(UserRepository repository) {
        this.repository = repository;
    }
}
  1. Через сеттеры
java
@Service
public class UserService {
    private UserRepository repository;
    
    @Autowired
    public void setRepository(UserRepository repository) {
        this.repository = repository;
    }
}
  1. Через поле (менее предпочтительный способ)
java
@Service
public class UserService {
    @Autowired
    private UserRepository repository;
}

Также можно использовать аннотацию @Resource (JSR-250) или @Inject (JSR-330) вместо @Autowired. Для конфигурации через JavaConfig используется аннотация @Bean в классах с @Configuration.

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

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

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

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