Spring Boot
I explore the versatility of Spring Boot by building everything from REST APIs and GraphQL endpoints to full-stack web applications.
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