• sales@4levels.co.za
  • +27 11 848 6229
  • 53/54, 14th Road, Noordwyk, Midrand, South Africa 1687





Core Spring 4.3c

Course Description


This updated version 4.3c course offers hands-on experience with Spring and its major features, including configuration, an overview of the Spring Network, data access, web and REST applications, Spring Boot, Spring Security and using Spring Cloud to build a small microservices application. On completion, participants will have a foundation for creating enterprise-ready applications  


Application developers who want to increase their understanding of Spring with hands-on experience and a focus on fundamentals  


  • Basic understanding of application development using Java
  • IDE (Eclipse or STS preferred) ; STS is used in the course

Key topics

Module 1: Overview of the Spring Framework
  • Introducing Spring in the context of Enterprise Application Architecture
  • What is the Spring Framework?
  • Spring is a Container
  • Spring Framework History
  • What is Spring used for?
Module 2: Dependency Injection Using Spring
  • Spring Quick Start
  • Creating an application context
  • Multiple configuration files
  • Bean Scope
Module 3: Dependency Injection Using Spring 2
  • External properties
  • Profiles
  • Spring Expression Language
  • Proxying
Module 4: Annotations in Spring
  • Fundamentals: Annotation-based configuration
  • Best practices: When to use what?
  • @Postconstruct and PreDestroy
  • Stereotypes and meta annotations
  • @Resource
  • Standard annotations (JSR 330)
Module 5: Dependency Injection Using XML 
  • Writing bean definitions in XML
  • Creating an application context
  • Controlling bean behaviour
  • Factory beans
  • Namespaces
  • Spring XML best practices
Module 6: Understanding the Bean Lifecycle 
  • Introduction
  • The initialization Phase
  • The use phase
  • The destruction phase
Module 7: Testing Spring Applications 
  • Test driven development
  • Integration Testing with Spring
  • Testing with Profiles
  • Testing with Databases
Module 8: Developing Aspects with Spring AOP 
  • What problem does AOP solve
  • Core AOP concepts
  • Quick Start
  • Defining pointcuts
  • Implementing advice
Module 9: Introduction to Data Management with Spring
  • The role of Spring in enterprise data access
  • Spring’s DataAccessExceptionHierarchy
  • Using Test databases
  • Implementing Caching
  • No SQL databases
Module 10: Introduction to Spring JDBC
  • Problems with traditional JDBC
  • Spring’s JDBC Template
  • Configuration
  • Query execution
  • Working with result sets
  • Exception handling
Module 11: Transaction Management with Spring
  • Why use transactions?
  • Java Transaction management
  • Spring transaction management
  • Isolation levels
  • Transaction propagation
  • Rollback rules
  • Testing
Module 12: JPA with Spring and Spring Data
  • Introduction to JPA: General concepts, Mapping, Querying
  • Configuring JPA in Spring
  • Implementing JPA DAOs
  • Spring Data - JPA
Module 13: Overview of Spring Web  
  • Introduction
  • Using Spring in Web Applications
  • Overview of Spring Web
  • Spring and other Web frameworks
Module 14: Spring Web MVC Essentials
  • What is Spring MVC?
  • Request Processing Lifecycle
  • Key Artifacts
  • DispatcherServlet
  • Controllers
  • Views
  • Quick Start
Module 15: Spring Boot - Basics
  • What is Spring Boot?
  • Spring Boot explained
  • Dependency management
  • Auto configuration
  • Packaging
  • Web applications with Spring Boot
  • Ease of use features
Module 16: Spring Boot – Going Further
  • Understanding Auto-Configuration
  • Customizing Spring Boot
  • More on Properties
  • Fine-tuning logging
  • Using YAML for configuration
  • Testing
Module 17: Spring Security
  • High level security overview
  • Motivations of spring security
  • Spring security in a web environment
  • Configuring web authentication
  • Using spring security’s Tag libraries
  • Method security
  • Advanced security: working with filters
Module 18: Practical REST Web Services
  • REST introduction
  • Spring MVC support for RESTful applications
  • RESTful clients with the RestTemplate
Module 19: Microservices with Spring
  • What is Microservices Architecture?
  • Pros and Cons of Microservices
  • Managing Microservices
  • Tooling: Spring, Spring Cloud, Netflix
  • Building a simple Microservice system
  • Developing an application from Plain Java Objects
  • Using Spring to configure an application
  • Using Spring Annotations to configure and test an application
  • Using XML to configure an application
  • Testing Spring Applications
  • Developing aspects using Spring AOP
  • Reimplementing repositories using Spring’s Jdbc Template
  • Managing transactions declaratively using Spring Annotations
  • Reimplementing repositories using Spring and JPA
  • Adding a Web interface
  • Simplification using Spring Boot
  • Applying Spring Security to a Web application
  • Restful applications with Spring MVC
  • Building a simple Microservices system
  • Using Bean Definition inheritance, Property placeholders and Namespaces
  • Sending and receiving messages in a Spring Application
  • Monitoring and managing a Java Application


By the end of the training, you should have an understanding of Spring and associated technologies and be able to do the following:
  • Spring Configuration using Java, Annotations and XML
  • Aspect orientated programming with Spring
  • Testing Spring applications.
  • Data Access - JDBC, JPA and Spring Data
  • Using Spring for transaction management
  • Building web applications with Spring MVC
  • Spring Boot - introductory and advanced topics
  • Implement REST with Spring MVC and RestTemplate
  • Spring Security
  • Microservices with SpringCloud

Course Duration

4 Days
User Dashboard Client Zone