Junior — Middle
Je zabezpečené vytvorenie tej istej inštancie komponentu pri použití anotácie @Autowired v rôznych častiach triedy označenej @Component?
sobes.tech AI
Odpoveď od AI
Áno, pri použití anotácie @Autowired v Spring Framework na injektovanie závislostí do triedy označenej ako @Component, sa predvolene vytvorí jeden exemplár komponentu (scope Singleton). To znamená, že na rôznych miestach v triede, kde je ten istý komponent injektovaný cez @Autowired, sa bude používať ten istý exemplár.
Napríklad:
@Component
public class MyService {
@Autowired
private MyRepository repo1;
@Autowired
private MyRepository repo2;
public void doSomething() {
// repo1 a repo2 odkazujú na ten istý exemplár MyRepository
}
}
Takto Spring spravuje životný cyklus komponentov a zabezpečuje opakované použitie jedného exempláru, pokiaľ nie je uvedené inak (napríklad pomocou anotácie @Scope).