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
Recommended Reading
- "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:
- MODULE 2: Create your first Spring Boot application
- Understand Spring Initializr
- Explore the structure of a Spring Boot project
Validation Quiz
At the end of this module, make sure you can answer these questions:
- What were the main challenges of Java EE?
- What is auto-configuration in Spring Boot?
- How does Spring Boot simplify deployment?
- What is the role of Jackson in Spring Boot?
- Why do we use the MVC model?
Module Navigation
Theory
- What is Spring Boot? - Detailed introduction and history
- Why use Spring Boot? - Advantages and reasons for adoption
- Introduction to REST Services - Optional review on REST web services
- 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!