Spring Boot In Action | macOS |
@GetMapping("/{id}") public ResponseEntity<User> getById(@PathVariable Long id) { return userService.findById(id) .map(ResponseEntity::ok) .orElse(ResponseEntity.notFound().build()); }
// Enable configuration properties @EnableConfigurationProperties(AppProperties.class) Spring Data JPA @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(unique = true) private String email; @CreationTimestamp private LocalDateTime createdAt; } spring boot in action
@Scheduled(cron = "0 0 * * * *") public void hourlyTask() { // Runs every hour } @GetMapping("/{id}") public ResponseEntity<
@Component @RabbitListener(queues = "order.queue") public class OrderListener { @RabbitHandler public void handleOrder(Order order) { System.out.println("Received order: " + order.getId()); } } File Upload @PostMapping("/upload") public ResponseEntity<String> handleUpload(@RequestParam("file") MultipartFile file) throws IOException { Path path = Paths.get("uploads/" + file.getOriginalFilename()); Files.write(path, file.getBytes()); return ResponseEntity.ok("File uploaded successfully"); } // Async file processing @Async public CompletableFuture<String> processFile(MultipartFile file) { // Process large files asynchronously } 14. Error Handling Global Exception Handler @RestControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(MethodArgumentNotValidException.class) @ResponseStatus(HttpStatus.BAD_REQUEST) public Map<String, String> handleValidation(MethodArgumentNotValidException ex) { return ex.getBindingResult().getFieldErrors().stream() .collect(Collectors.toMap( FieldError::getField, FieldError::getDefaultMessage )); } @Column(unique = true) private String email