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