Sobes.tech
Junior — Middle

Da li je obezbeđeno kreiranje iste instance komponente kada se koristi anotacija @Autowired u različitim delovima klase označene sa @Component?

sobes.tech АИ

Одговор од АИ

Da, korišćenjem anotacije @Autowired u Spring Framework-u za injekciju zavisnosti u klasu označenu kao @Component, podrazumevano se kreira jedan primerak komponente (Singleton opseg). To znači da će na različitim mestima u klasi, gde se isti komponenta injektuje putem @Autowired, koristiti isti primerak.

Na primer:

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

    @Autowired
    private MyRepository repo2;

    public void doSomething() {
        // repo1 i repo2 se odnose na isti primerak MyRepository
    }
}

Na ovaj način, Spring upravlja životnim ciklusom komponenti i obezbeđuje ponovno korišćenje jednog primerka, osim ako nije drugačije naznačeno (npr. pomoću anotacije @Scope).