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

Почему в Spring не нужно указывать @Autowired

Начиная с Spring 4.3, если у класса есть только один конструктор, @Autowired можно опустить – фреймворк автоматически внедрит зависимости через этот конструктор. Это часть конвенций, упрощающих конфигурацию.

Для полей и сеттеров аннотация по-прежнему нужна.

Пример:

java
@Service
public class UserService {
    private final UserRepository repository;

    // @Autowired не обязателен (если конструктор один)
    public UserService(UserRepository repository) {
        this.repository = repository;
    }
}

Исключение:
Если конструкторов несколько, @Autowired требуется для указания предпочтительного.

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

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

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

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