1. Spring Boot Controller Layer (@RestController)
Building REST HTTP endpoints for GET, POST, PUT, and DELETE operations:
@RestController
@RequestMapping("/api/products")
public class ProductController {
@Autowired
private ProductService productService;
@GetMapping
public List<Product> getAllProducts() {
return productService.getAllProducts();
}
@PostMapping
public Product createProduct(@RequestBody Product product) {
return productService.saveProduct(product);
}
}
2. Spring Data JPA Repository (@Repository)
Interface extending JpaRepository for instant CRUD database methods:
@Repository
public interface ProductRepository extends JpaRepository<Product, Long> {
List<Product> findByCategory(String category);
}