Назад к вопросам
Junior — Middle
67
Обеспечивается ли создание одного и того же экземпляра компонента при использовании аннотации @Autowired в разных частях класса, помеченного @Component?
Компании, где спрашивали
Hftlabs
Ответ от нейросети
sobes.tech AI
Да, при использовании аннотации @Autowired в Spring Framework для внедрения зависимостей в класс, помеченный как @Component, по умолчанию создаётся один экземпляр компонента (Singleton scope). Это означает, что в разных местах класса, куда внедряется один и тот же компонент через @Autowired, будет использоваться один и тот же экземпляр.
Например:
@Component
public class MyService {
@Autowired
private MyRepository repo1;
@Autowired
private MyRepository repo2;
public void doSomething() {
// repo1 и repo2 ссылаются на один и тот же экземпляр MyRepository
}
}
Таким образом, Spring управляет жизненным циклом компонентов и обеспечивает повторное использование одного экземпляра, если не указано иное (например, с помощью аннотации @Scope).