Sobes.tech
Middle

Ի՞նչն է տարբերությունը Spring-ում Component, Repository և Service նշանագրերի միջև։

sobes.tech AI

Պատասխան AI-ից

Այս բոլոր նշումները մասնագիտացված @Component-ներ են: Դրանք օգտագործվում են Spring կոմպոնենտների ինքնաբերաբար հայտնաբերման համար classpath-ով սկանավորելու միջոցով:

Հիմնական տարբերությունները վերաբերում են սիմանտիկային և նախատեսված օգտագործմանը:

  • @Component: Ընդհանուր ստերեոտիպային նշում ցանկացած Spring կոմպոնենտի համար: Կարող է օգտագործվել այն դասերի համար, որոնք ավելի կոնկրետ կատեգորիաների մեջ չեն մտնում:
  • @Repository: Նշում է դասը, որը կատարում է տվյալների պահոցային դեր: Spring-ը ավտոմատ կերպով փոխում է տվյալների մուտքի հետ կապված արտահայտությունները միացյալ Spring արտահայտությունների հիերարխիայի:
  • @Service: Նշում է դասը հավելվածի ծառայության շերտում: Սովորաբար պարունակում է հավելվածի բիզնես տրամաբանությունը: Օգտագործվում է կոդի ընթեռնելիությունը բարելավելու և հավելվածի կառուցվածքը լավ կազմակերպելու համար:
Անոտացիա Նպատակը Սիմանտիկա
@Component Ընդհանուր Spring կոմպոնենտ Ընդհանուր, համընդհանուր
@Repository Տվյալների պահոցային համակարգը Մուտք դեպի տվյալներ, DAO
@Service Ծառայության շերտ, բիզնես տրամաբանություն Բիզնես տրամաբանություն, ծառայություն