The software architecture
Our legacy Java web application uses the following main frameworks:
- Spring Boot
- Thymeleaf
- Bootstrap
- jQuery
Spring Boot
Spring Boot is an opinionated framework built on top of the Spring Framework. In this case, opinionated means that Spring Boot makes a lot of decisions on how to handle things such as security and persistence. This means it is also auto-configuring, so the configuration we need to provide is minimal, and mostly only needed when we are overriding the default decisions made by Spring Boot.
In our application, we are using the following Spring Boot capabilities:
- Persistence: Spring Data JPA
- Sessions: Spring Session Data Redis
- Security: Spring Security
- Email: Spring mail with Thymeleaf templates
- Validation: Spring validation
- Presentation: Spring Model View Controller (MVC) with Thymeleaf templates
The opinions and auto-configuration provided by Spring Boot mean that the developer...