It is important in our fast-paced world to be able to prototype quickly, but also to ensure that we are not doing unnecessary work. To achieve these goals, we need a framework that combines simplicity with efficiency.
Any description of Spring Boot would be incomplete without the mention of Spring Framework, so let’s start with a brief introduction.
The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications on any deployment platform.
Spring is a dependency injection container that helps define everything in our application as loosely coupled components which it then gathers at run time. It also has a programming model that allows us to make abstractions based on specific deployment environments.
Dependency injection means creating dependent objects outside of a class, then introducing them to the class in different ways. This technique is intended to achieve the
between classes and their dependencies. Note: Inversion of Control (IoC) expects the direction of dependency within the application to be in the direction of abstraction, not implementation details. IoC Inversion of Control
The Spring Portfolio includes several sub-projects, including Spring Data, Spring Security, and most notably, Spring Boot. The specific sub-projects used in the course are:
- Spring Boot
- Spring Data
- Spring Security
- Spring Web MVC
Spring Boot is an open-source Java-based framework which is mainly used to create microservices.
Spring Data’s mission is to provide a familiar and consistent, Spring-based programming model for data access while retaining the unique traits of the underlying data store.
Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.
Spring Web MVC
Spring Web MVC is Spring’s web framework, and is built on the Servlet API.