Junior — Middle
100
Vai tiek garantēta tā paša komponenta instances izveide, izmantojot @Autowired anotāciju dažādās klases daļās, kas marķētas ar @Component?
Uzņēmumi, kur jautāja
Hftlabs
Atbilde no AI
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).