Choose your language
Java Spring Course
More than 2 million students worldwide

Java Spring Course

Master the complete Java Spring ecosystem — from core dependency injection to microservices, security, and cloud deployment. This course takes you from foundational Java skills to building production-ready enterprise applications with confidence. Whether you're leveling up your backend career or tackling real-world projects, this is the hands-on Spring training you need.

Dedika for businesses

What you will learn:

You will gain deep expertise in the Spring Framework, Spring Boot, Spring MVC, Spring Security, and Spring Data JPA. You will learn how to configure the IoC container, build secure REST APIs, manage database transactions, and write reliable test suites using JUnit 5 and Mockito. The course also covers reactive programming with Spring WebFlux, microservices patterns with Spring Cloud, and containerized deployment with Docker and Kubernetes. You will apply performance tuning techniques, set up observability with Micrometer and Prometheus, and integrate asynchronous messaging with Kafka and RabbitMQ. By the end, you will have the skills to architect, build, and ship enterprise-grade Spring applications.

How you study in practice Java Spring Course

How you practice Java Spring Course

For companies that want to train their team

With Dedika for Business, the course includes exercises and examples tailored to your own business and the way your company needs.

Click here

Course content

8 Chapters • 38 LessonsDuration between 4 and 360 hours (you decide)

Chapter 1See details

Java and Spring Ecosystem Foundations

  • Lesson 1 • Setting Up the Development Environment

    Guides installation of JDK, IDE, Maven or Gradle, and Spring Initializr. Produces a working local environment ready for all subsequent labs.

  • Lesson 2 • Introduction to the Spring Framework

    Explains Spring's history, modules, and design philosophy. Positions Spring as a solution to enterprise Java complexity.

  • Lesson 3 • Build Tools and Project Structure

    Covers Maven POM and Gradle build scripts, dependency scopes, and standard project layouts. Enables students to manage dependencies confidently.

  • Lesson 4 • Java Essentials for Spring Developers

    Reviews Java syntax, OOP principles, and generics critical for Spring usage. Bridges raw Java knowledge to framework-level thinking.

Chapter 2See details

Inversion of Control and Dependency Injection

  • Lesson 1 • Bean Scopes and Lifecycle Hooks

    Explains singleton, prototype, request, and session scopes and their appropriate use cases. Covers @PostConstruct, @PreDestroy, and custom lifecycle callbacks.

  • Lesson 2 • IoC Container Concepts

    Defines inversion of control and explains how the Spring container manages object lifecycles. Establishes the mental model needed for all bean configuration work.

  • Lesson 3 • Externalized Configuration with @Value and Profiles

    Demonstrates injecting property values and activating environment-specific beans via profiles. Prepares students for multi-environment deployments.

  • Lesson 4 • Defining and Registering Beans

    Covers XML bean definitions, stereotype annotations, and Java-based @Configuration classes. Students register beans using all three approaches.

  • Lesson 5 • Dependency Injection Patterns

    Teaches constructor, setter, and field injection with trade-offs for each. Connects DI patterns to testability and maintainability goals.

Chapter 3See details

Aspect-Oriented Programming in Spring

  • Lesson 1 • AOP Concepts and Terminology

    Defines join points, pointcuts, advice types, and aspects. Establishes vocabulary required to read and write AOP configurations correctly.

  • Lesson 2 • Implementing Aspects with @AspectJ

    Guides creation of @Aspect classes with @Before, @After, @Around, and @AfterThrowing advice. Students write reusable aspects for logging and validation.

  • Lesson 3 • Pointcut Expressions and Reuse

    Teaches pointcut expression syntax for method, annotation, and bean matching. Covers named pointcuts for reuse across multiple advice methods.

  • Lesson 4 • Proxy Mechanics and Limitations

    Explains JDK dynamic proxies vs. CGLIB proxies and self-invocation limitations. Helps students avoid common AOP pitfalls in production code.

Chapter 4See details

Spring MVC and RESTful API Development

  • Lesson 1 • Validation and Error Handling

    Applies Bean Validation annotations and @Valid to incoming data, then handles errors globally. Students build consistent error responses across all endpoints.

  • Lesson 2 • Request and Response Handling

    Teaches @RequestBody, @ResponseBody, ResponseEntity, and HTTP status codes. Connects serialization to Jackson and content negotiation.

  • Lesson 3 • Controllers and Request Mapping

    Covers @Controller, @RestController, and @RequestMapping variants for routing HTTP requests. Students map GET, POST, PUT, and DELETE operations.

  • Lesson 4 • Spring MVC Architecture

    Traces an HTTP request through DispatcherServlet, handler mappings, and view resolvers. Provides the architectural foundation for all web layer work.

  • Lesson 5 • REST API Design Best Practices

    Covers resource naming, HTTP method semantics, HATEOAS basics, and API versioning strategies. Elevates raw endpoints to well-designed REST APIs.

Chapter 5See details

Data Access with Spring Data and JPA

  • Lesson 1 • Transaction Management

    Explains declarative and programmatic transaction management with @Transactional. Covers propagation, isolation levels, and rollback rules.

  • Lesson 2 • JPA and Hibernate Fundamentals

    Introduces the JPA specification, entity lifecycle, and Hibernate as the default provider. Establishes ORM concepts before Spring Data abstractions are applied.

  • Lesson 3 • Spring Data JPA Repositories

    Demonstrates JpaRepository, CrudRepository, and derived query methods. Students eliminate boilerplate DAO code using Spring Data conventions.

  • Lesson 4 • Entity Mapping and Relationships

    Maps database tables to entities using column, table, and relationship annotations. Covers one-to-one, one-to-many, and many-to-many associations.

  • Lesson 5 • Database Migrations and Schema Management

    Introduces Flyway and Liquibase for versioned schema migrations alongside Spring Boot auto-configuration. Ensures reproducible database states across environments.

Chapter 6See details

Spring Boot Auto-Configuration and Actuator

  • Lesson 1 • Spring Boot Actuator Endpoints

    Enables and secures Actuator endpoints for health, metrics, info, and environment inspection. Connects observability data to monitoring systems.

  • Lesson 2 • Custom Auto-Configuration and Starters

    Guides creation of custom auto-configuration classes and reusable starter modules. Enables teams to share infrastructure configuration across projects.

  • Lesson 3 • Spring Boot Auto-Configuration Internals

    Explains @SpringBootApplication, @EnableAutoConfiguration, and the conditions that activate auto-config classes. Students understand what Spring Boot configures automatically.

  • Lesson 4 • Embedded Servers and Deployment

    Configures embedded Tomcat, Jetty, and Undertow and packages applications as executable JARs or WARs. Prepares students for containerized and traditional deployments.

  • Lesson 5 • Spring Boot Starters and Properties

    Covers starter dependencies, common application properties, and type-safe @ConfigurationProperties binding. Reduces manual configuration through curated starters.

Chapter 7See details

Spring Security Fundamentals

  • Lesson 1 • CSRF, CORS, and Security Testing

    Manages CSRF protection, configures CORS policies, and writes security-focused integration tests. Closes common web security gaps in REST APIs.

  • Lesson 2 • Authorization and Access Control

    Applies URL-based and method-level authorization using roles and expressions. Covers @PreAuthorize, @PostAuthorize, and SpEL security expressions.

  • Lesson 3 • Spring Security Architecture

    Explains the security filter chain, SecurityContext, and authentication manager hierarchy. Provides the structural foundation for all security configuration decisions.

  • Lesson 4 • Configuring Authentication

    Implements in-memory, JDBC, and custom UserDetailsService authentication. Students configure password encoding and user storage strategies.

  • Lesson 5 • OAuth2 and JWT Integration

    Configures Spring Security as an OAuth2 resource server and client, validating JWT tokens. Students secure APIs consumed by third-party clients.

Chapter 8See details

Testing Spring Applications

  • Lesson 1 • Test Coverage and Quality Metrics

    Measures coverage with JaCoCo, enforces thresholds in the build, and interprets coverage reports. Connects test quality to CI pipeline gates.

  • Lesson 2 • Test Containers and Database Testing

    Runs real database instances in Docker via Testcontainers for realistic persistence tests. Eliminates discrepancies between in-memory and production database behavior.

  • Lesson 3 • Unit Testing with JUnit 5 and Mockito

    Covers JUnit 5 annotations, assertions, and Mockito mocking for isolated unit tests. Establishes fast, dependency-free tests for service and utility classes.

  • Lesson 4 • Integration Testing with @SpringBootTest

    Loads the full application context for end-to-end integration tests using TestRestTemplate and MockMvc. Validates component interactions across layers.

  • Lesson 5 • Spring Boot Test Slices

    Uses @WebMvcTest, @DataJpaTest, and @JsonTest to load only relevant application slices. Reduces test context startup time while maintaining realistic coverage.

Certification

Your valid completion certificate

This course is for you:

  • Junior Java developer: ready to move beyond standalone apps into frameworks.

  • Backend engineer: switching from a different JVM language or framework stack.

  • Computer science graduate: bridging academic Java knowledge to industry-standard tools.

  • Full-stack developer: looking to deepen and formalize their server-side Java skills.

  • Career changer: coming from another language and targeting Java backend roles.

  • Freelance developer: needing enterprise-grade Spring skills to win larger client contracts.

What our students say

Your classes are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of my interest without needing to switch platforms... I thank you for everything you do, I've already recommended you to other people...
Giulio Carlo
Giulio CarloDigital Marketing Student
I like how the lessons are straight to the point and how I can switch chapters and skip content I don't need.
Mariana Ferres
Mariana FerresPhotography Student
I like the content and the presentation style and video transcription, which speeds up the process!
Luciana Alvarenga
Luciana AlvarengaNail Design Student
The platform is fast, simple to use. The diversity of content and complementary videos really help with learning.
André Felipe
André FelipePrompt Engineering Student

Top trainings

FAQ

Who is Dedika?

Is the certificate valid in the United States?

Are the courses free?

What is the course workload?

What are the courses like?

How do the courses work?

What is the duration of the courses?

What is the cost or price of the courses?

What is an EAD or online course and how does it work?

PDF Course