Spring Boot 4 cheatsheet
Spring Boot 4: Controllers and beans
6 common Spring Boot 4 tasks.
Write a REST controller
Return objects from handler methods as JSON.
@RestController
@RequestMapping("/api/users")
public class UserController {
@GetMapping("/{id}")
public User get(@PathVariable Long id) {
return service.find(id);
}
}
Accept a JSON body
Bind and validate a request body.
@PostMapping
@ResponseStatus(HttpStatus.CREATED)
public User create(@Valid @RequestBody UserRequest request) {
return service.create(request);
}
Declare a service
Register a class as a bean. Spring injects constructor arguments.
@Service
public class UserService {
private final UserRepository repository;
public UserService(UserRepository repository) {
this.repository = repository;
}
}
Define a JPA entity
Map a class to a database table.
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
}
Create a repository
Get CRUD methods and derived queries without writing SQL.
public interface UserRepository extends JpaRepository<User, Long> {
Optional<User> findByEmail(String email);
}
Handle exceptions globally
Turn exceptions into HTTP responses for all controllers.
@RestControllerAdvice
public class ApiExceptionHandler {
@ExceptionHandler(NotFoundException.class)
@ResponseStatus(HttpStatus.NOT_FOUND)
public String notFound(NotFoundException ex) {
return ex.getMessage();
}
}