CodeGym/Courses/Spring Foundation Course

Spring Foundation Course

Go from a pure HTTP request to a production-ready Spring Boot backend. 79 levels, 700+ interactive tasks with validation. You will learn to build server applications from scratch, understand IoC and DI, design REST APIs, and confidently work with the Spring ecosystem. Take the step from Java Core to professional backend development, where the demand for Spring developers is consistently high.
4.9
500+ reviews
30k graduates built careers in IT
Learn More
Detailed training program
  • Why you need this course between Java Core and your first Spring backend
  • Creating a project skeleton and entering Gradle via Wrapper
  • Plugins, repositories, and dependencies without IDE magic
  • Build lifecycle, resources, and a single application entry point
  • Transitive dependencies, useful commands, and a stable project baseline
  • HTTP as the language of a backend developer
  • HTTP methods and resource-oriented thinking
  • Status codes, headers, and placing data in a request
  • Stateless model, network failures, and the concept of an API contract
  • JSON as the primary data exchange format
  • DTO mindset and designing JSON contracts
  • Postman as a working tool for exploring HTTP contracts
  • Postman environments, negative-path, and protecting the course from an unstable external API
  • Your first working HTTP client in Java 21
  • URIs, POST, timeouts, and a chaos-free transport layer
  • Jackson 3 and stable JSON mapping for the project
  • Wrapping up the client phase of the project
  • Backend project structure and manual dependency wiring
  • Domain, DTO, response model, and a unified error contract
  • Configuration outside the code: properties, env vars, and args
  • Logging with SLF4J and Logback as minimum operational culture
  • Entering the server phase of the project via JDK HttpServer
  • Routing, incoming requests, and JSON responses without Spring MVC
  • Read-only part of the local API
  • Create, update, patch, delete, and applied HTTP semantics of CRUD
  • Manual validation, unified error response, result packaging, and the bridge to Spring
  • Why Spring is needed and what problem it solves
  • IoC and DI before adding Spring
  • Your first Spring context and the proper entry point
  • What a bean is and how the container sees the application
  • Component scanning and stereotype annotations
  • @Configuration and @Bean without the myths
  • Constructor injection as the primary style
  • Multiple implementations of a single interface
  • Optional dependencies, lazy wiring, and circular dependencies
  • Bean lifecycle from startup to shutdown
  • Scopes and object state in the container
  • Externalized configuration and Environment
  • Type conversion and binding inside the container
  • Profiles and conditional application assembly
  • Resource abstraction and working with external resources
  • MessageSource and modular configuration
  • Application Events as loose coupling for application parts
  • @EventListener and the modern event model
  • Startup pipeline and container extension points
  • FactoryBean and Aware interfaces
  • Spring's proxy model without the mystery
  • Spring AOP basics as the foundation for future courses
  • How to read legacy Spring and not be afraid of XML
  • Testing pure Spring configuration
  • Final knowledge assembly and the bridge to Spring Boot
  • Why Spring Boot was created and what layer of backend development it covers
  • Minimum Spring Core refresher, without which Boot turns into magic
  • Project creation: Initializr, Gradle Wrapper, and application skeleton
  • Dependency management and starters without fear
  • Anatomy of a Boot application from main() to up-and-running runtime
  • Application lifecycle, startup hooks, and early diagnostics
  • Beans, dependency injection, and the project structure of a live Boot application
  • Auto-configuration without the mystery
  • Safe Boot customization
  • The first web-baseline on Spring Boot
  • MVC customization without framework takeover
  • JSON baseline in Spring Boot 4
  • Why externalized configuration is not "just application.yaml"
  • Property sources and precedence without superficial understanding
  • Profiles and environment strategy
  • Import, additional locations, and modular configuration
  • @ConfigurationProperties — the right path to type-safe configuration
  • Immutable configuration, validation, and metadata
  • DevTools and a fast feedback loop
  • Logging fundamentals for a backend developer
  • Modern logging in Boot 4
  • Actuator baseline: visibility first, exposure later
  • Actuator deeper: diagnostics, startup visibility, and custom health
  • Packaging and running the application outside the IDE
  • Container-friendly mindset before a separate Docker course
  • Minimum testing baseline for any Boot project
  • Boot-centric tests: configuration, Actuator, and a light web smoke
  • Final Boot demystification and handoff to the next courses
395+
Lessons
700+
Tasks
79
Tests
And also:
  • Instant validation
  • AI code validator
  • IDE plugin
  • WebIDE
  • Gamification