A software framework is a reusable software platform/code that makes the life of developers easy by providing something commonly needed out of the box probably as a Jar file; developers can then use it or extend it.
Most examples we see for Spring Boot explain features of Spring Boot. However, enterprise projects might follow different architectural patterns and best practices. I will focus on such best practices and architectural patterns here. I will be using Maven, however, you may use Gradle instead if you want.
This book will discuss about enough Spring framework 5 essentials that would serve as a foundation for advanced Spring learning.
We will be using Maven primarily for build config, but will give few examples for Gradle. We will be focussing on Java configuration and annotations. For notes on xml configurations please refer here.