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