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