Disclaimer
- Disclaimer:
Objective 1.1 — Introduction to the Spring Framework
- What is the Spring Framework?
- The Dependency Injection (DI) Container
- Spring Framework History (high-level)
- What Spring is used for (quick map)
- Core exam takeaways
- Mini-glossary (ESL friendly)
Objective 1.2 — Java Configuration
- Quick Start
- The ApplicationContext
- Handling Multiple Configurations
- Bean Scope
- Spring Expression Language (SpEL)
- Using the context in tests (system test style)
- Conclusion (why Java configuration matters)
Objective 1.3 — Properties and Profiles
- Use External Properties
- Spring Profiles
- Spring Expression Language (SpEL)
- Recap
Objective 1.4 — Annotation-Based Configuration and Component Scanning
- Annotation-Based Configuration
- Using
@Autowired - Autowiring and Disambiguation
- Using
@Valuefor simple values - Lazy Initialization
- Component Scanning Best Practices
- Configuration Choices
- Stereotype and Meta-Annotations
- Lifecycle hooks
- Summary
Objective 1.5 — Spring Bean Lifecycle
- Initialization Phase — Part 1
- Use Phase
- Destruction Phase
- Bean Creation Order and Injection Issues
- Summary
Objective 1.6 — Aspect-Oriented Programming (AOP)
- What Problems Does AOP Solve?
- Core AOP Concepts and Quick Start
- Defining Pointcut Expressions (AspectJ syntax)
- Advice Types
- Limitations of Spring AOP
- Summary
Objective 2.1 — Introduction to Spring JDBC
- Problems with Traditional JDBC
- Into
JdbcTemplate - Creating a
JdbcTemplate - JdbcTemplate Basic Usage
- Working with ResultSets Using Callbacks
- Exception Handling
- Putting it together: a clean repository
- Exam Tips & Gotchas
Objective 2.2 — Transaction Management with Spring
- Why Transactions (and Java Support)
- Spring Transaction Management
- Configure Transaction Propagation
- Setup Rollback Rules and Testing Support
- Programmatic Transactions (for completeness)
- Summary
Objective 2.3 — Spring Boot and Spring Data for Backing Stores
- Spring Boot & Spring Data JPA
- 1 Spring Boot “Starter” Dependencies
- 2 Spring Boot and JPA
- 3 Spring Data — Instant Repositories
- 4 Packaging & Integration Testing (Data)
- Summary
Objective 3.1 — Web Applications with Spring Boot
- Spring Web Introduction
- Web Layer Support in Spring MVC and Spring Boot
- Spring MVC Quick Start (REST)
- Message Converters
- Configure for WAR or JAR Deployment
- Spring MVC Quick Start — Putting It Together
- Summary
Objective 3.2 — REST Applications
- RESTful applications with Spring Boot
- REST in a nutshell
- Implementing HTTP GET and PUT
- Implementing HTTP POST and DELETE
- Client calls with
RestTemplate - Summary
Objective 4.1 — Testing Spring Applications
- Packaging and Integration Testing
- Testing with Spring Boot
- Configure Tests with Profiles & Databases
- Using the Web Layer in Tests
- Summary
Objective 4.2 — Advanced Testing with Spring Boot and MockMVC
- Spring Boot Testing
- Spring Boot testing framework
- Perform MockMVC testing
- Perform slice testing
- Summary
Objective 5.1 — Explain Basic Security Concepts
- Core Concepts
- Spring Security — The Big Picture
- Spring Security Filter Chain
- SecurityContextPersistenceFilter (request lifecycle)
- Threats & Principles (High Level)
Objective 5.2 — Use Spring Security for Authentication & Authorization
- URL Authorization
- Configuring Web Authentication
- Securing REST Applications (Stateless)
Objective 5.3 — Define Method-Level Security
- Method Security Annotations
- Why Method Security?
- Enabling Method Security (Spring Security 6+)
- How It Works (AOP Proxy)
- Common Annotations & When to Use Them
- SpEL Cheatsheet for
@PreAuthorize/@PostAuthorize - Fine-Grained Filtering
- Testing Method Security
- Practical Patterns
- Quick Reference
- Minimal Working Setup
Objective 6.1 — Spring Boot Feature Introduction
- Spring Boot Feature Introduction
- Spring Boot Getting Started
- Packaging and Integration Testing
Spring Boot feature introduction
- 1 Objectives
- 2 What is Spring Boot?
- 3 Why Spring Boot?
- 4 How do you manage dependencies?
- 5 Spring Boot parent POM
- 6 Spring Boot “starter” dependencies
- 7 Test “starter” dependency
- 8 Many starters are available
- 9 Auto-configuration enabled by
@EnableAutoConfiguration - 10 Shortcut:
@SpringBootApplication - 11 Example of Auto-configuration (DataSource, JdbcTemplate)
Packaging and integration testing
- 1 Fat JAR with the Spring Boot plugin
- 2 Spring Boot Maven plugin
- 3 Packaging result
- 4 Test:
@SpringBootTest - 5
@SpringBootConfigurationdiscovery
Spring Boot getting started
- 1 Hello World — three files
Objective 6.2 — Spring Boot Properties and Autoconfiguration
- Using Auto-Configuration
- Override Default Configuration
- Externalized Configuration in Boot
Spring Boot — A Closer Look
- 1 Objectives
- 2 Externalized properties:
application.properties - 3 Where Spring Boot looks for
application.properties - 4 Profiles and
application.properties - 5 YAML support
- 6 Profiles with YAML
- 7 Property precedence (simplified)
- 8 The problem with repeating placeholders
- 9 Use
@ConfigurationProperties - 10 Enabling
@ConfigurationProperties - 11 Relaxed binding
Using Auto-Configuration
- 12 Enabling auto-configuration
- 13 How auto-configuration works
- 14 Auto-config examples: DataSource, JdbcTemplate
- 15 Conditional annotations
- 16 What are auto-configuration classes?
- 17 Where are they listed?
Override Default Configuration
- 18 Four common override strategies
- 19 (1) Set Boot properties
- 20 (2) Define explicit beans
- 21 (3) Exclude auto-configuration
- 22 (4a) Override dependency versions
- 23 (4b) Substitute dependencies
- 24 DataSource customization highlights
- 25 CommandLineRunner & ApplicationRunner
- 26 Summary
Objective 6.3 — Spring Boot Actuator
- Actuators, Metrics, and Health Indicators
- Setting Up Actuators
- Metrics
- Health Indicators
Actuators, Metrics, and Health Indicators
- 1) What value does Actuator provide?
- 2) Key endpoints
- 3) Setting up Actuators
- 4) Securing endpoints
Metrics
- Creating custom metrics
Health Indicators
- Prometheus & Datadog quick setup
- Handy properties cheat sheet
- Final tips
Practice Tests — Spring Framework (6 Full Exams)
- What you’ll get
- Who it’s for
- How to find it on Udemy
- Scan to visit