Middle
Spring-ში რა განსხვავებაა Component, Repository და Service ანოტაციებს შორის?
sobes.tech AI
პასუხი AI-სგან
ეს ყველა ნიშანი სპეციალიზებულია @Component. ისინი გამოიყენება Spring კომპონენტების ავტომატურად გამოვლენისათვის classpath-ის სკანირების საშუალებით.
ძირითადი განსხვავებები განისაზღვრება სემანტიკით და განზრახ გამოყენებით:
@Component: საერთო სტერეოტიპული ნიშანი ნებისმიერი Spring კომპონენტისთვის. შეიძლება გამოყენებულ იქნას კლასებისთვის, რომლებიც უფრო კონკრეტულ კატეგორიებს არ მიეკუთვნებიან.@Repository: აღნიშნავს კლასი, რომელიც ასრულებს მონაცემთა საცავის როლს. Spring ავტომატურად გარდაქმნის მონაცემთა წვდომის სპეციფიკურ გამონაკლისებს ერთიან Spring-ის გამონაკლისთა ჰიერჰიარსიაში.@Service: აღნიშნავს კლასი აპლიკაციის სერვისის ფენაში. ჩვეულებრივ შეიცავს აპლიკაციის ბიზნეს ლოგიკას. გამოიყენება კოდის წაკითხულობის გაუმჯობესებისა და აპლიკაციის უკეთეს სტრუქტურირებისთვის.
| ნიშანი | დანიშნულება | სემანტიკა |
|---|---|---|
@Component |
საერთო Spring კომპონენტი | საერთო, უნივერსალური |
@Repository |
მონაცემთა საცავი | მონაცემთა წვდომა, DAO |
@Service |
სერვისის ფენა, ბიზნეს ლოგიკა | ბიზნეს ლოგიკა, სერვისი |