Sobes.tech
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 նշումով):