search
Giriş
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
2.0k gösterim
Spring'de @Component, @Service, @Controller  ve @Repository ne işe yarar. Farkları nelerdir?
Java kategorisinde 2.0k puan
yeniden kategorilendirildi

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.
6.2k puan

İlgili sorular

0 oy
1 cevap 351 gösterim
351 gösterim
Spring 'de component ile service ve repositor anatasyonlarının ne farkı vardır?
29 Eylül 2020 Java kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 518 gösterim
518 gösterim
Spring'de @Repository ve @Autowired nasıl ve hangi amaçla kullanılır? Bu annotationları kullanmadan projemiz çalıştırabilir miyiz? spring uygulaması bunları algılayabilir mi? Örneğin CrudRepository yu extend ettim bir interface'imde ancak annotation koymazsam olur mu? //@Repository public interface EmployeeRepository extends JpaRepository<Employee,Long>{ }
20 Haziran 2020 Genel Kavramlar kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 1.4K gösterim
1.4K gösterim
Selam, Bir java projesi yaparken Serializable interface ini implement edilmesinin amacı nedir? Kullanımı ne gibi bir avantaj sağlar. public class User implements Serializable { ....... }
4 Şubat 2017 Java kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 391 gösterim
391 gösterim
package com.test.user; import java.util.Set; import javax.xml.namespace.QName; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.soap.SOAPBody; ... null olduğu için herhangi bir atama işlemi gerçekleştiremiyorum. services.xml içinde gerekli tanımlar yapıldı. Bunu nasıl başarabilirim.
3 Ocak 2019 Java kategorisinde asefat 141 puan sordu
0 oy
1 cevap 314 gösterim
314 gösterim
Redux nedir ve ne amaçla kullanılır?
8 Eylül 2020 Javascript kategorisinde furkankahveci 167 puan sordu