Back to questions
Junior — Middle
65
Используешь ли ты явное указание аннотации Autowired в коде?
Answer from AI
sobes.tech AI
В современных версиях Spring Framework (начиная с Spring 4.3) явное указание аннотации @Autowired не всегда обязательно, особенно если есть единственный конструктор в классе — Spring автоматически внедрит зависимости через этот конструктор.
Однако, если у класса несколько конструкторов или нужно внедрить зависимости в поля или сеттеры, то @Autowired всё ещё необходима для явного указания точки внедрения.
Пример без @Autowired на конструкторе:
@Component
public class MyService {
private final Dependency dep;
public MyService(Dependency dep) {
this.dep = dep;
}
}
Если же используется внедрение через поля, то @Autowired нужно ставить явно:
@Component
public class MyService {
@Autowired
private Dependency dep;
}
Таким образом, явное указание @Autowired зависит от контекста и стиля кода, но в современных проектах предпочтительнее использовать внедрение через конструктор без аннотации.