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 სერვისის ფენა, ბიზნეს ლოგიკა ბიზნეს ლოგიკა, სერვისი