Skip to main content

MODULE 1 - Introduction to Spring Boot

Overview​

This module introduces you to Spring Boot, the most popular Java framework for modern application development. You will discover its history, evolution, and the fundamental concepts that make Spring Boot an essential choice for Java developers.

Learning Objectives​

By the end of this module, you will be able to:

  • Understand the evolution from Java EE to Spring Boot
  • Identify the advantages of Spring Boot over traditional frameworks
  • Explain the MVC model and its implementation in Spring
  • Understand the role of Apache Tomcat as an embedded server
  • Know Jackson and JSON handling in Java
  • Grasp the concepts of auto-configuration and convention over configuration

Module Content​

1. History and Context​

  • The evolution of Java development
  • Java EE (J2EE) and its challenges
  • The advent of Spring Framework
  • The introduction of annotations in Java
  • The birth of Spring Boot

2. Key Features​

  • Smart auto-configuration
  • Bundled dependencies (Starters)
  • Embedded web server
  • Production Ready Features (Actuator)
  • Rapid development
  • Community and ecosystem

3. Fundamental Concepts​

  • MVC Model (Model-View-Controller)
  • Apache Tomcat and servlet servers
  • Jackson for JSON handling
  • Convention over Configuration

Estimated Duration​

3 hours (reading + reflection + exercises)

Prerequisites​

  • Basic knowledge of Java
  • Understanding of object-oriented programming (OOP)
  • Basic understanding of the web (HTTP, client-server)

Module Structure​

MODULE 1
├── Introduction to Spring Boot (what it is)
├── Why use Spring Boot? (advantages)
├── Introduction to REST Services (optional - review)
├── RestController Preparations (theory and concepts)
├── History and evolution
├── Key features
├── Appendices (MVC, Tomcat, Jackson)
├── Conclusion
└── Practical Work
├── TP1.1: Installation of Java JDK 17 (Windows, macOS, Linux)
└── TP1.2: Installation of Maven 3.9.x (Windows, macOS, Linux)

Resources​

Official Documentation​

  • "Expert One-on-One J2EE Design and Development" - Rod Johnson
  • "Spring Boot in Action" - Craig Walls

Videos​


Next Steps​

Once this module is completed, you will be ready to:

  1. MODULE 2: Create your first Spring Boot application
  2. Understand Spring Initializr
  3. Explore the structure of a Spring Boot project

Validation Quiz​

At the end of this module, make sure you can answer these questions:

  1. What were the main challenges of Java EE?
  2. What is auto-configuration in Spring Boot?
  3. How does Spring Boot simplify deployment?
  4. What is the role of Jackson in Spring Boot?
  5. Why do we use the MVC model?

Module Navigation​

Theory​

  1. What is Spring Boot? - Detailed introduction and history
  2. Why use Spring Boot? - Advantages and reasons for adoption
  3. Introduction to REST Services - Optional review on REST web services
  4. RestController Preparations - Theoretical preparation before practice

Practical Work​

TP1.1: Installation of Java JDK 17​

Objective: Install and configure Java JDK 17 on your machine

Content:

  • Installation of Java JDK 17 on Windows, macOS, and Linux (multiple methods per OS)
  • Configuration of environment variables (JAVA_HOME, PATH)
  • Verification commands: java -version, javac -version, which java
  • Difference between JDK, JRE, and JVM
  • Troubleshooting common issues

Estimated duration: 20-30 minutes


TP1.2: Installation of Maven 3.9.x​

Objective: Install and configure Apache Maven on your machine

Content:

  • Installation of Maven 3.9.x on Windows, macOS, and Linux
  • Configuration of environment variables (MAVEN_HOME, PATH)
  • Installation verification with a first build
  • Troubleshooting common issues

Estimated duration: 30-45 minutes

Prerequisites: JDK 17+ installed (see TP1.1)


Happy reading and learning!