Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
32 gösterim
Spring'de @Component, @Service, @Controller  ve @Repository ne işe yarar. Farkları nelerdir?
Unix/Linux kategorisinde (1.6k puan) sordu

1 cevap

0 oy
Spring içinde @service, @controller ve @repository annotationları arasında gerçekleştirimde bir fark yok. Hepsini birbiri yerine kullanabilirsin. Sadece @component diğerlerinden ayrılabiliyor. İlk üçü için ise mantıksal ayrım genelde uygulanıyor.

@Controller, @Service, @Repository = Programsal olarak fark yok. Mantıksal olarak MVC yapısında Controller var. Controller sınıflarını @Controller annotation ile belirtmek kod okunurluluğunu artırır. n-katmanlı mimaride de veri erişim katmanı ile kodun iş katmanı birbirinden ayrılır. @Repository veri erişim katmanı olarak kullanılan sınıfların belirlenmesinde @service ise iş katmanında yani detaylı iş kodlarının olduğu sınıfları belirlemek için kullanılır. Bu üç annotation da belirtildiği sınıfı application scope (uygulama alanı) olarak oluşturulur.

@Component ise spring tarafından yönetilmesi istenen bütün sınıflar için kullanılabilir. Component'in farkı bu annotation ile yaratılacak sınıfın hangi alanda geçerli olacağını belirtebilirsin. Yani @Component(['session', 'request','application']) session/request/application/kendine ait bir alanda (scope) kullanabilirsin.
(3.1k puan) cevapladı

İlgili sorular

0 oy
1 cevap 222 gösterim
222 gösterim 4 Şubat 2017 Java kategorisinde tolga (1.6k puan) sordu
0 oy
1 cevap 242 gösterim
0 oy
1 cevap 24 gösterim
0 oy
1 cevap 44 gösterim
0 oy
1 cevap 40 gösterim
40 gösterim 30 Mayıs 2017 Java kategorisinde tolga (1.6k puan) sordu
...