Middle
Ի՞նչն է տարբերությունը Spring-ում Component, Repository և Service նշանագրերի միջև։
sobes.tech AI
Պատասխան AI-ից
Այս բոլոր նշումները մասնագիտացված @Component-ներ են: Դրանք օգտագործվում են Spring կոմպոնենտների ինքնաբերաբար հայտնաբերման համար classpath-ով սկանավորելու միջոցով:
Հիմնական տարբերությունները վերաբերում են սիմանտիկային և նախատեսված օգտագործմանը:
@Component: Ընդհանուր ստերեոտիպային նշում ցանկացած Spring կոմպոնենտի համար: Կարող է օգտագործվել այն դասերի համար, որոնք ավելի կոնկրետ կատեգորիաների մեջ չեն մտնում:@Repository: Նշում է դասը, որը կատարում է տվյալների պահոցային դեր: Spring-ը ավտոմատ կերպով փոխում է տվյալների մուտքի հետ կապված արտահայտությունները միացյալ Spring արտահայտությունների հիերարխիայի:@Service: Նշում է դասը հավելվածի ծառայության շերտում: Սովորաբար պարունակում է հավելվածի բիզնես տրամաբանությունը: Օգտագործվում է կոդի ընթեռնելիությունը բարելավելու և հավելվածի կառուցվածքը լավ կազմակերպելու համար:
| Անոտացիա | Նպատակը | Սիմանտիկա |
|---|---|---|
@Component |
Ընդհանուր Spring կոմպոնենտ | Ընդհանուր, համընդհանուր |
@Repository |
Տվյալների պահոցային համակարգը | Մուտք դեպի տվյալներ, DAO |
@Service |
Ծառայության շերտ, բիզնես տրամաբանություն | Բիզնես տրամաբանություն, ծառայություն |