Spring Boot

I explore the versatility of Spring Boot by building everything from REST APIs and GraphQL endpoints to full-stack web applications.

Categories:JavaAzure

A topic page: a summary of what my posts say, with each claim quoted from the post it came from. The posts are the authority. Last checked 2026-11-06.

Summary. I explore the versatility of Spring Boot by building everything from REST APIs and GraphQL endpoints to full-stack web applications. I also cover essential features like Spring Security, data persistence with Spring Data JPA, and automated deployment workflows.

What the posts say

The @RestController annotation ensures that methods return data instead of web pages.

β€œA: It marks the class as a controller whose methods return data, not web pages.” β€” Java Spring Boot (Part 1)

Spring Data JPA reduces the amount of boilerplate code needed for data access.

β€œI created a Spring Boot application using Spring Data JPA, which provides high-level, repository-style interfaces for data access and reduces boilerplate code.” β€” Java Spring Boot (Part 3)

The application never sees the user's GitHub password when using OAuth2.

β€œThe application sends the browser to GitHub, the user signs in there, and GitHub sends the browser back with proof, so my application never sees the GitHub password.” β€” Java Spring Boot (Part 6)

The schema acts as the contract between the client and the server in a GraphQL API.

β€œA: The contract between the client and the server.” β€” Java Spring Boot (Part 5)

Thymeleaf fills HTML placeholders with model data before the browser renders the page.

β€œI write an HTML page with placeholders, and Thymeleaf fills them in with the model data before the browser sees the page.” β€” Java Spring Boot (Part 4)

The H2 database stores data in memory so that changes are lost when the application stops.

β€œThe H2 database is in memory, so my changes are lost when the application stops.” β€” Java Spring Boot (Part 5)

A push to GitHub updates the live site without a manual upload.

β€œA push to GitHub was enough to update the live website, with no manual upload.” β€” Java Spring Boot (Part 2)

Azure Spring Apps is a managed service that handles the underlying Kubernetes infrastructure.

β€œIt is fully managed, and it runs on Kubernetes. Each service instance has two dedicated Kubernetes clusters that Azure Spring Apps manages and hides from me.” β€” Java Spring Boot (Part 7)

The posts behind this page

  • Java Spring Boot (Part 7) β€” Hosting a Spring Boot application on Azure Spring Apps, from creating the service to scaling it, and the news that the service is being retired
  • Java Spring Boot (Part 6) β€” Signing in with GitHub OAuth2 using Spring Security, then using roles to control who can open the user and admin pages
  • Java Spring Boot (Part 5) β€” Building a GraphQL API with Spring for GraphQL: a schema, queries and mutations, and the GraphiQL explorer, backed by an H2 database
  • Java Spring Boot (Part 4) β€” Using Spring MVC's ModelAndView and a Thymeleaf template to show todo items on a web page, with a delete button
  • Java Spring Boot (Part 3) β€” Using Spring Data JPA with an in-memory H2 database to store and list todo items, and deploying the application to Azure
  • Java Spring Boot (Part 2) β€” Generating a Spring Boot project with start.spring.io, running it locally, and deploying it to Azure App Service with GitHub Actions
  • Java Spring Boot (Part 1) β€” Creating a REST API with Spring Boot and Spring Tool Suite: a books controller, annotations, and a React client served from the same project