Sobes.tech
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