Junior — Middle
Արդյոք ապահովված է @Component նշանած դասի տարբեր մասերում @Autowired նշանառության օգտագործման դեպքում նույն բաղադրիչի օրինակ ստեղծելը?
sobes.tech AI
Պատասխան AI-ից
Այո, երբ դուք օգտագործում եք @Autowired նշումը Spring Framework-ում կախվածությունների ներդրման համար @Component նշած դասում, ըստ նախնական կարգավորումների ստեղծվում է մեկ օրինակ կոմպոնենտի (Singleton շրջանակ): Սա նշանակում է, որ տարբեր վայրերում, որտեղ նույն կոմպոնենտը ներդրվում է @Autowired միջոցով, օգտագործվելու է նույն օրինակը:
Օրինակ՝
@Component
public class MyService {
@Autowired
private MyRepository repo1;
@Autowired
private MyRepository repo2;
public void doSomething() {
// repo1 և repo2 հղում են նույն MyRepository օրինակին
}
}
Այսպիսով, Spring-ը կառավարում է կոմպոնենտների կյանքի ցիկլը և ապահովում է մեկ օրինակակի կրկնակի օգտագործումը, եթե այլ նշում չի կատարվում (օրինակ, @Scope նշումով):