Beginner Spring Framework Training Course | Code College

Beginner Spring Framework Training Course

Learn the fundamentals of Spring Framework and how to build enterprise Java applications with it.


  • 5 Days Full-time

What do I need?

  • Webinar : A laptop, and a stable internet connection. The recommended minimum speed is around 10 Mbps.
  • Classroom Training : A laptop, please notify us if you are not bringing your own laptop. Please see the calendar below for the schedule


  • Attendance : If you have attended 80% of the sessions and completed all the class work, you qualify for the Attendance Certificate. (Course Price : R14 500)
  • Competency : Only offered as part of a Coding Bootcamp
  • You may apply for credits in NQF level 5 but these are ordered seperataly as it incurs additional customising


  • VMWare Spring Professional Certification. The course covers the majority of the topics, although not everything.
  • You will have to study more and attend an official VMWare Course as well before you can write a VMWare Exam (Exam is not included and has to be written at an international exam center


  • Onsite (Woodmead Classroom)
  • Online (Discord Webinar)


Our Java Advanced Training Course, is required for entry into this course

Who will benefit

  • Developers who already know the fundamentals of Advanced Java and now wants to know how to apply it to build enterprise-grade applications

What you will learn

  • Know the Fundamentals of Spring Framework 5 and how it assists developers in various way to build Java Apps.
  • Deployment
  • Expert Best Practises
  • Building reactive applications
  • Spring MVC
  • Spring Data
  • Spring Security
  • How to publish and consume RESTful API's
  • Reactive Programming
  • Build a complete database-backed web app step-by-step
  • This course constitutes the core subject portion of the corresponding module in the Java Bootcamp


Day 1

Getting started with Spring

  • What is Spring?
  • Initializing a Spring application
  • Initializing a Spring project with Spring Tool Suite
  • Examining the Spring project structure
  • Writing a Spring application
  • Handling web requests
  • Defining the view
  • Testing the controller
  • Building and running the application
  • Getting to know Spring Boot DevTools
  • Surveying the Spring landscape Overview
  • The core Spring Framework
  • Spring Boot
  • Spring Data
  • Spring Security
  • Spring Integration and Spring Batch
  • Spring Cloud
  • Spring Native

Day 2

Working with databases


  • Reading and writing data with JDBC
  • Adapting the domain for persistence
  • Working with JdbcTemplate
  • Defining a schema and preloading data
  • Inserting data

Working with Spring Data JDBC

  • Adding Spring Data JDBC to the build
  • Defining repository interfaces
  • Annotating the domain for persistence
  • Preloading data with CommandLineRunner

Persisting data with Spring Data JPA

  • Adding Spring Data JPA to the project
  • Annotating the domain as entities
  • Declaring JPA repositories
  • Customizing repositories

Day 3

Working with nonrelational databases

Working with Cassandra repositories

  • Enabling Spring Data Cassandra
  • Understanding Cassandra data modeling
  • Mapping domain types for Cassandra persistence
  • Writing Cassandra repositories

Writing MongoDB repositories

  • Enabling Spring Data MongoDB
  • Mapping domain types to documents
  • Writing MongoDB repository interfaces

Securing Spring

  • Enabling Spring Security
  • Configuring authentication
  • In-memory user details service
  • Customizing user authentication

Securing web requests

  • Securing requests
  • Creating a custom login page
  • Enabling third-party authentication
  • Preventing cross-site request forgery
  • Applying method-level security
  • Knowing your user

Day 4

Working with configuration properties

  • Fine-tuning autoconfiguration
  • Understanding Spring’s environment abstraction
  • Configuring a data source
  • Configuring the embedded server
  • Configuring logging
  • Using special property values
  • Creating your own configuration properties
  • Defining configuration property holders
  • Declaring configuration property metadata
  • Configuring with profiles
  • Defining profile-specific properties
  • Activating profiles
  • Conditionally creating beans with profiles
  • Day 5

    Creating REST services

    Writing RESTful controllers

    • Retrieving data from the server
    • Sending data to the server
    • Updating data on the server
    • Deleting data from the server

    Enabling data-backed services

    • Adjusting resource paths and relation names
    • Paging and sorting

    Consuming REST services

    • GETting resources
    • PUTting resources
    • DELETEing resources
    • POSTing resource data