Unterschied zwischen @Component, @Repository und @Service im Spring Framework
Hallo zusammen! Ich bin ein Java-Anfänger und lerne das Spring Framework. Ich schreibe meine erste Anwendung – einen einfachen Online-Shop. Ich habe mehrere Klassen: ProductService, ProductRepository und ProductController. Ich weiß, dass sie alle Spring-Beans sein müssen, verstehe aber nicht, welche Annotation ich für welche Klasse verwenden soll.
Überall steht, dass man einfach @Component auf alles setzen kann, aber ich habe gesehen, dass erfahrene Entwickler @Repository für die DAO-Schicht und @Service für Services verwenden. Was ist der Unterschied? Ich habe es so versucht:
```java
@Component
public class ProductRepository {
public List findAll() {
// hier Arbeit mit der DB
}
}
@Service
public class ProductService {
@Autowired
private ProductRepository repository;
}
@Controller
public class ProductContr