Spring Boot Study Material

What is Spring and Spring Boot

What is Spring?

Spring is the most popular framework for building Java applications. A framework is a ready-made structure: it gives you the plumbing (object creation, web requests, database access, security, transactions) so you only write the business logic.

At its heart, Spring is a container that creates your objects and connects them to each other. This idea is called Inversion of Control (IoC) and Dependency Injection (DI), and you will learn it in the Spring Core module.

  • Spring Framework (2003): the core container, Spring MVC for web apps, transactions, JDBC support.
  • Spring projects built on top: Spring Data, Spring Security, Spring Cloud, Spring Batch and more.
  • Open source and maintained by Broadcom (VMware Tanzu), with a huge community.

What is Spring Boot?

Spring Boot (2014) is a layer on top of the Spring Framework that makes it fast to start and easy to run. It is "opinionated": it picks sensible defaults so a working web API needs only a few lines of code.

  • Starters: one dependency (e.g. spring-boot-starter-web) brings everything needed for a feature.
  • Auto-configuration: Boot looks at your classpath and configures beans for you (a web server, JSON, a database connection).
  • Embedded server: Tomcat runs inside your app. You run a normal java -jar app.jar; no separate server install.
  • Production-ready: health checks, metrics and externalized configuration out of the box.

The Spring Ecosystem

+-----------------------------------------------+
                 |                 Your Application              |
                 +-----------------------------------------------+
                 |  Spring Boot  (starters, auto-config, server) |
                 +-----------------------------------------------+
   Spring Data | Spring Security | Spring Cloud | Spring Batch | ...
                 +-----------------------------------------------+
                 |  Spring Framework (IoC container, MVC, TX)    |
                 +-----------------------------------------------+
                 |          Java (JDK 17+)  /  JVM               |
                 +-----------------------------------------------+

Note: This course uses Spring Boot 3.5 with Java 21. Spring Boot 3 needs at least Java 17 and uses the jakarta.* packages (older tutorials show javax.*; those are Spring Boot 2). Spring Boot 4 works the same way for everything taught at this level.