Начиная с Spring 4.3, если у класса только один конструктор, Spring автоматически внедряет зависимости через этот конструктор, даже без @Autowired.
При наличии нескольких конструкторов Spring по-прежнему требует аннотацию @Autowired для явного указания, какой конструктор использовать для внедрения зависимостей.
Пример с единственным конструктором:
java
Пример с несколькими конструкторами и @Autowired:
java
Эта особенность снижает количество boilerplate-кода и делает классы более читаемыми, особенно при Constructor Injection. Это рекомендуемый способ внедрения зависимостей в современных Spring приложениях, так как он способствует созданию неизменяемых объектов и упрощает тестирование.