Level 3 – Advanced (Java Programming)
Objectives
By the end of this course, you should be able to:
- Understand Design Patterns and Principles
- Learn how Spring works
- Learn the popular Spring modules
Online Training (3 days – 3 hrs. per day)
Attendees are expected to know the following before taking this course:
- Understand the basics of Java programming such as defining classes, methods, control
- flow structures, looping statements and arrays
- Knows how to use GIT
- Knows how to use Maven or Gradle
- Create Unit Tests
- HTML, CSS and JavaScriptled:
Required Tools and Software:
- Own laptop with a least the following specs:
- Intel Core i5, higher or similar other CPUs
- 16GB RAM or higher
- Any of these operating systems installed
- Windows 11 64-bit, MacOS and Linux
- The following software tools installed:
- OpenJDK 21
- 21.0.1 – https://jdk.java.net/archive/
- IntelliJ IDEA Community Edition
- 2023.3.4 – Windows x64 (exe) – https://www.jetbrains.com/idea/download/other.html
- OpenJDK 21
Course Outline
Day 1
- Design Patterns and Principles
- Creational Patterns
- Structural Patterns
- Behavioral Patterns
- Architectural Patterns
- YAGNI, DRY, WET and KISS
- Separation of Concerns
- SOLID
- Exercises
Day 2
- Templating using Thymeleaf
- JWT and OAuth 2
- Spring Security
- Spring Batch
- Exercises
Day 3
- Spring Integration
- Spring Cloud
- Distributed Version Configuration
- Service Registration and Discovery
- Routing
- Service-to-service calls
- Load balancing
- Circuit Breakers
- Distributed Messaging
- Short lived microservices (tasks)
- Consumer-driven and producer-driven contract testing
- Exercises
Frequently Asked Questions:
What are the topics that not covered?
- Discussion on SQL syntax and statements
- Containerization using Docker
- Orchestration using Kubernetes
JavaCore and Object-Oriented Programming
Level 1 Foundational Java Programming – …
OOP Concepts and Unit Testing
Level 2 Associate Java Programming – …