| # | Topic | Description |
|---|---|---|
| 1 | Introduction Preview | High-level overview of Spring Boot and its advantages |
| 2 | Introduction to Spring Boot | Core concepts, opinionated defaults, and use cases |
| 3 | Setting up the Development Environment | Installing and configuring JDK, Maven, IntelliJ IDEA, and required plugins |
| 4 | Creating a Spring Boot Project | Using Spring Initializr and Maven archetype to generate projects |
| 5 | Understanding the Project Structure | Exploring src/main/java, src/main/resources, and pom.xml layout and roles |
| 6 | Dependency Management | Understanding Maven dependencies, Spring Boot Starter POMs, and version control |
| 7 | Running Spring Boot Applications | Running, testing, and verifying Spring Boot apps from IDE or CLI |
| # | Topic | Description |
|---|---|---|
| 1 | What is Dependency Injection? | Understanding DI principles and benefits in Spring |
| 2 | The Spring IoC Container | How the container manages object creation and wiring |
| 3 | Exercise – Implementing a Notification Service | Practical example to understand service-based dependency injection |
| 4 | Exercise – Implementing a User Registration Service | Building a small app to explore @Service, @Repository, and DI in action |
| 5 | Configuring Beans Using Annotations | Defining and managing beans with annotations like @Component, @Service, etc. |
| 6 | Controlling Bean Selection | Using qualifiers and priorities to choose between multiple beans |
| 7 | @Component | Marking a class as a Spring-managed component |
| 8 | @Service | Specialized stereotype annotation for service-layer components |
| 9 | @Qualifier | Explicitly selecting the right bean when multiple implementations exist |
| 10 | @Primary | Setting a default bean when multiple candidates are present |
| 11 | @Autowired | Automatic dependency injection by type |
| 12 | @Value | Injecting simple values (from application.properties or constants) into beans |
| 13 | getBeans() | Retrieving beans programmatically from the application context |
| 14 | @Bean (Scope & Lifecycle) | Understanding custom bean creation, scopes (singleton, prototype), and lifecycle callbacks |
| 15 | @Configuration | Defining configuration classes that manage bean definitions and dependency wiring |