Sobes.tech
Junior — Middle

Je zajištěno vytvoření stejné instance komponenty při použití anotace @Autowired v různých částech třídy označené @Component?

sobes.tech AI

Odpověď od AI

Ano, při použití anotace @Autowired ve Spring Frameworku pro vkládání závislostí do třídy označené jako @Component se ve výchozím nastavení vytvoří jedna instance komponenty (scope Singleton). To znamená, že na různých místech třídy, kde je stejná komponenta vkládána přes @Autowired, bude použita stejná instance.

Například:

@Component
public class MyService {
    @Autowired
    private MyRepository repo1;

    @Autowired
    private MyRepository repo2;

    public void doSomething() {
        // repo1 a repo2 odkazují na stejnou instanci MyRepository
    }
}

Tímto způsobem Spring spravuje životní cyklus komponent a zajišťuje opakované použití jedné instance, pokud není uvedeno jinak (například pomocí anotace @Scope).