Sobes.tech
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).