Middle
Spring'de Component, Repository ve Service anotasyonları arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Tüm bu anotasyonlar özel @Component'lerdir. Bunlar, classpath taramasıyla Spring bileşenlerinin otomatik tespiti için kullanılır.
Ana farklar semantik ve kullanım amaçlarına göre değişir:
@Component: Spring için genel bir stereotip anotasyonudur. Daha spesifik kategorilere uymayan sınıflar için kullanılabilir.@Repository: Veri deposu rolünü üstlenen sınıfı belirtir. Spring, bu anotasyona sahip sınıflar için veri erişimine özgü istisnaların otomatik dönüşümünü sağlar ve bunları Spring'in birleşik istisna hiyerarşisine dönüştürür.@Service: Uygulamanın servis katmanındaki sınıfı belirtir. Genellikle uygulamanın iş mantığını içerir. Kodun okunabilirliğini artırmak ve uygulamayı daha iyi yapılandırmak için kullanılır.
| Anotasyon | Amaç | Semantik |
|---|---|---|
@Component |
Genel Spring bileşeni | Genel, evrensel |
@Repository |
Veri deposu | Veri erişimi, DAO |
@Service |
Servis katmanı, iş mantığı | İş mantığı, servis |