The backbone of enterprise Java. Spring Boot makes Java web apps approachable with auto-configuration, dependency injection, REST controllers and Spring Data JPA — production-grade out of the box.
Every Spring app starts at start.spring.io. Pick your dependencies, click generate, and watch the project skeleton stream in.
Annotations do the heavy lifting. @RestController + @GetMapping map an HTTP request to a Java method. Send a request and see the simulated response.
/api/products, /api/products/{id}, /api/health@RestController @RequestMapping("/api/products") public class ProductController { private final ProductRepository repo; @GetMapping public List<Product> all() { return repo.findAll(); } @GetMapping("/{id}") public Product one(@PathVariable Long id) { return repo.findById(id).orElseThrow(); } }
Declare an interface method name and Spring writes the query for you. Pick a repository method and see the result table + the SQL Spring generates.
public interface ProductRepository extends JpaRepository<Product, Long> { List<Product> findByInStockTrue(); List<Product> findByPriceLessThan(double price); }
Spring's IoC container creates and wires your objects (beans). You never call new for a service — you ask for it, Spring supplies it. Watch the container boot.
The default choice for serious Java backends.