Course 1 Java 21 Core Programming
Duration 40 hours (5 days)
Pre-requisite Java 21 Fundamentals
Topics:
- Review on Java 20 Fundamentals
- Class and object
- Variables based on data types
- Variables based on classification
- Record
- Type Inferencing using var (IVTI)
- Variable arguments
- Using the import statement
- Understanding various built-in packages and its API classes
- The java.lang API classes
- The java.util API classes
- The java.time API classes
- The java.text API classes
- The java.math API classes
- The java.io API classes
- Understanding the OOP Principles
- Abstraction and UML
- Class relationships
- HAS-A Relationship
- IS-A Relationship
- Encapsulation
- Inheritance
- Polymorphism
- Comparing Abstract and Sealed classes
- Learning the new Java interface and its utilities
- Knowing the object shadowing
- Implementing the exception handling
- Error and Exception
- Types of Exception handling
- Switch-case that throws exceptions
- Functional exception handling
- Creating Generic classes
- Understanding the new Collection Framework
- ArrayList
- LinkedList
- Vector
- HashSet
- LinkedHashSet
- TreeSet
- HashMap
- LinkedHashMap
- TreeMap
- Unmodifiable collections
- Concurrent collections
- Sorting Collection objects
- Enumerables and iterables
- POJO and Record for storing objects
- Learning anatomy of an instance
- Object methods
- The this and super keyword
- The this() and super() constructor functions
- Constructor
- Overloading of constructor
- Private constructor
- Lazy and Eager initialization
- Upcasting and downcasting
- Initialization Blocks (IB)
- Profiling
- Optimizing codes using Inner class
- Nested class
- Static inner class
- Method Local inner class
- Anonymous inner class
- Implementing choices using Enum objects
- Constants objects
- The Enum class
- The Enum collections
- Understanding threading and basic concurrency
- Thread and Runnable
- The use of wait() and notify()
- The Thread utilities
- The use of Runnable
- Synchronization techniques
- Cooperation
- Competition
- The ExecutorService and thread pooling
- The Callable
- Virtual threading
- Using the NIO 2.0
- The FileSystem and FileStore
- The Path, Paths, and Files API classes
- The BufferedReader and BufferedWriter
- Chanel and Buffer
- MappedByteBuffer
- Threading and Stream in NIO 2.0
- Understanding the Java Streams
- Lambda expression
- Functional interfaces
- The Stream API
- The stream operators
- Difference of collection data and stream data
- Lambda expression, Stream, and NIO 2.0
Course 2 Introduction to SQL Programming using PostgreSQL
Duration 18 hours (3 days)
Pre-requisite Java Core Programming
Topics:
- Learning the PostgreSQL commands
- Learning the DDL transactions
- Create
- Drop
- Alter
- Learning the DML transactions
- Insert
- Update
- Delete
- Select
- Understanding the table schema
- Creating the constraints
- Implementing the table relationships
- Learning the various Single-row functions
- Learning The multiple-row functions
- Implementing the joins
- Java Data Programming (JDBC) using PostgreSQL
Course 3 Java 21 Advanced Concepts
Duration 32 hours (4 days)
Pre-requisite Java 21 Core Programming
Topics:
- Understanding the Refection API
- Learning in-depth the XML, DTD and XSD documents
- Knowing JSON documents
- Creating and parsing XML documents
- Encoding and decoding JSON files
- Applying unit testing using JUnit 5
- Implementing bulk-testing using TestNG
- Understanding Behavioral testing using Mockito
- Creating software logs using Log4J2
- Understanding Java modules
- Learning deployment with JAR and WAR
- Managing codes with Git and GitHub
Course 4 Java Web Framework with Jakarta EE 9.1/10
Duration 18 hours (3 days)
Pre-requisite Java 21 Advanced Concepts
Topics:
- The Jakarta EE Framework
- Client and server setup and configuration
- Servlet API, Request and Response objects, Request dispatch process, MVC concept, and web deployment descriptor
- Headers, request parameters, and form handling transactions
- CDI 2.0 Specification
- Jakarta EE Parameter types
- Jakarta EE Attribute types
- Session handling, HttpSession, and Cookies
- Listeners and ServletContext
- Filter, FilterConfig and Filter chaining
- Introduction to JSP with Scriptlets, Directives and JSP Actions
- Expression Languages
- Jakarta EE Security Framework
- Introduction to Java Web Services and client implementation (Jax-RS and JAX-WS)
Course 4 Spring 6 Core Framework Development
Duration 40 hours (4 days)
Pre-requisite Jakarta EE 9.1/10 Framework
Topics:
- Introduction to Spring 6.0 Framework
- Discussion on Jakarta EE 10 and Spring 6.0 integration
- Discussion on Spring MVC architecture
- Understanding the Dependency Injection and Inverse of Control
- Using the XML configuration
- Using the JavaConfig specification
- Implementing the Controllers
- Creating various types of handler methods
- Implementing Form using handler methods
- Implementing Form using form backing object
- Applying PropertyEditor support
- Applying Validation Framework
- Creating the views and view handlers
- Creating the models and using the types of model wrappers
- Applying the Spring EL
- Applying exception handling approaches
- Integrating PostgreSQL using JdbcTemplate, Hibernate 6, MyBatis 3.x, JOO, and JPA 3.x
- Securing the web application
- Web Services with Spring
Course 5 Web Development using Spring Boot 3.x
Duration 18 hours (2 days)
Pre-requisite Spring 6.x Core Framework
Topics:
- Installation and Configuration
- Knowing Maven and Gradle tools
- Understanding the Spring Boot applications
- Creating, deploying, and running Spring Boot applications
- Creating Web MVC applications


