Avatar ·

Diferencia entre @Component, @Repository y @Service en Spring Framework

¡Hola a todos! Soy un desarrollador Java principiante, estoy aprendiendo Spring Framework. Estoy escribiendo mi primera aplicación — una tienda en línea simple. Tengo varias clases: ProductService, ProductRepository y ProductController. Sé que todas deben ser beans de Spring, pero no entiendo qué anotación usar para cada clase. En todas partes escriben que simplemente se puede poner @Component en todo, pero he visto que los desarrolladores experimentados usan @Repository para la capa DAO y @Service para los servicios. ¿Cuál es la diferencia? Intenté escribir así: ```java @Component public class ProductRepository { public List findAll() { // aquí trabajo con la BD } } @Service public class ProductService { @Autowired private ProductRepository repository; } @Controller public class ProductContr