
Full Stack Java Development
Course Overview
The Java Full Stack Developer Course offered by JTC provides comprehensive training in Java programming language, along with front-end and back-end web development frameworks like Angular, Spring, and Hibernate. The course covers essential topics like database management, RESTful APIs, and DevOps tools. Students also gain hands-on experience by working on real-world projects and get certified upon completion.
Join This Course

Student from any stream can join and become a certified Java Professional

Java Full Stack certification valued by all sectors

Assured placement with high salary package and career growth
Course Curriculum
Java Basic
Introduction of Program
Introduction of Programming Language
Introduction of Java
Installation and Classpath setting
Important terminology
Java Language
Character Set | Keyword | Identifiers
Data Types
Variable
Literals
Operator
Control Statement
Array
OOPS
Introduction of OOPS
Class | Object | Class Loaders & Class Loading Concept
Instance & Static Variable
Block
Method
Constructor
Abstraction
Encapsulation
Inheritance
Polymorphism
Abstract Class
Interface
Inner Class
Package
Introduction of Package
Package configuration
import
Jar files
Access Modifier
java.lang package
Introduction of java.lang package
java.lang.Object class
Garbage Collection
Cloning
java.lang.String class
java.lang.StringBuffer class
java.lang.StringBuilder class
java.lang.System class
java.lang.Runtime class
Wrapper Class
Exception Handling
Introduction of Exception
Different types of Exceptions
Try-Catch & Finally block
throw & throws keyword.
Autoclosable Interface
Multi-threading
Introduction of Multi-threading.
Thread Priority
User-Define Thread
Thread Life-Cycle
Dead lock
Synchronization
Inter-Thread Communication
Collction Framework
Introduction of Collcetion Framework
List
Set
Map
Queue
Iterator, List-Iterator & Enumeration
Generics
Introduction of Generics
Generics Classes
Bounded Types
Generics Methods & Wild-Card characters
IO Package
Introduction
Stream
Filtering
Storing Data records
Readers
Writers
Files
Introduction
File Classes
Untility Methods and Constructor
Action Methods
Object Serialization
Introduction of Serialization
Reading an object from a files
Custom Serialization
Externalizable
Serial Varsion UID
Scanner Class
Introduction of Scanner Class
Utility Methods & Constructors.
Annotation
Introduction of Java Annotation
Types of Annotation
Built-In Annotation
Lambda Expression
Functional Interface
Stream API
Default & Static Method in Interface
Method Reference
Optional Class
New Date & Time API
Sealed Class
Record
JDBC
Introduction of JDBC
JDBC Drivers
JDBC Statements
Batch Updates
Result Set
Row Set
Servlet
Introduction of Servlet
Introduction of Servlet
Web Server | Web Client | Web Container | Http & Https | TCP & IP | DNS
Web Server setup
Servlet API
Servlet Example using Web.xml
Servlet Example using Annotations
Servlet Life Cycle
Servlet Parameters
Request Dispatcher
Servlet Thread Models
HttpServletRequest & HttpServletResponse.
Session Management
Exploring HttpSession
Servlet Scopes
Servlet Filter & Filter Chaining
Listeners
JSP
Introduction of JSP
JSP Life-Cycle & JSP Life-Cycle Methods
JSP Implecit Objects
JSP Scripting formats
JSP Directives
JSP Standard Actions
JSP Scopes
JSP EL Expression
JSTL Tags
Custom Tags
Introduction of Hibernate
Difference between JDBC and Hibernate
Hibernate Features
First Example of Hibernate using hbm.xml file
First Example of Hibernate using annotations
Hibernate Inheritance Mapping
Table Per Class Mapping
Table Per Concrete Class mapping
Association Mapping
One-to-One Uni-directional Mapping
One-to-One Bi-directional Mapping
Many-to-Many Mapping
Version Mapping
Timestamp Mapping
Hibernate Example on DAO Pattern
Hibernate Query Language SQL | HQL | QBC | Native Query | Named Query
Polymorphic Query
Positional Parameters & Named Parameters
Simple Primary Key
Custom Primary Key
Composite Primary Key
Introduction of Transaction Management
ACID Property
Transaction Concurrency Problem & Solutions
Types of Transactions.
Hibernate Connection Management
JDBC Transaction
JTA Transaction
CMT Transaction
Hibernate Architecture
Exploring SessionFactory
Object States
Introduction of Hibernate Cache
Different types of Hibernate Cache
Hibernate Cache Architecture
JSP
About Spring 5.x Training
Spring 5.x Course Prerequisite
Spring 5.x Training Course Objective
Spring 5.x Training Course Duration
Spring 5.x Training Overview
Spring Introduction
Spring Core Module
Spring Core Module with Annotations
Spring Core Module with 100% Code/Java Config Approach.
Spring Boot Core
Spring JDBC/DAO
Spring AOP Module
Spring Transaction Management
Spring MVC
Spring Security
Spring ORM
Spring Data and Spring Data JPA
Spring Batch
Spring Mail
Introduction to Spring MicroServices
How to Explain Project Architectures
Spring Boot introduction
Spring boot - Bootstrapping
Spring boot - Tomcat Development
Spring boot - Build System
Spring boot - Code Structure
Spring boot - Spring beans and dependency injection
Spring boot - Runners
Spring boot - Application Properties
Spring boot - Logging
Spring boot - Building Restful Web Service
Spring boot - Exception Handling
Spring boot - Interceptor
Spring boot - Servlet Filter
Spring boot - Rest Template
Spring boot - File Handling
Spring boot - Service Components
Spring boot - Consuming Restful Web Services
Spring boot - Cors Support
Spring boot - Internationalization
Spring boot - Scheduling
Spring boot - Enabling Https
Spring boot - Eureka Server
Spring boot - Service Registration With Eureka
Spring boot - Cloud Configuration Server
Spring boot - Cloud Configuration Client
Spring boot - Actuator
Spring boot - Admin Server
Spring boot - Admin Client
Spring boot - Enable Swagger2
Spring boot - Creating Docker Image
Spring boot - Tracing Micro Service Logs
Spring boot - Flying Database
Spring boot - Web Socket
Spring boot - Batch Service
Spring boot - Spring for Apache Kafka
Spring boot - Database handling
Spring boot - Securing Web Application
Spring boot - OAuth2 with JWT
Spring Data JPA Introduction
What is Spring Data JPA?
Advantages of Using Spring Data JPA
Overview of JPA (Java Persistence API)
How Spring Data Enhances JPA
Core Concepts
Entities and Repositories
Relationships (One-to-One, One-to-Many, Many-to-One, Many-to-Many)
Entity Lifecycle and States (Transient, Persistent, Detached, Removed)
Setting Up Spring Data JPA
Project Setup with Spring Boot
Configuring DataSource and JPA Properties
Maven/Gradle Dependencies
Defining application.properties / application.yml
Repositories in Spring Data JPA
Repository Interfaces Overview
- CrudRepository
- PagingAndSortingRepository
- JpaRepository
Custom Repository Methods
Query Methods Derived from Method Names
Working with Entities
Entity Mapping with Annotations
- @Entity, @Table, @Column
- @Id, @GeneratedValue
- @Embedded and @Embeddable
Primary Key Strategies
Embedded and Composite Keys
Relationships and Associations
Mapping Relationships with @OneToOne, @OneToMany, @ManyToOne, @ManyToMany
Cascading Operations
Fetch Types: EAGER vs LAZY Loading
Join Tables and MappedBy
Querying Data
JPQL (Java Persistence Query Language)
Native Queries
Named Queries
@Query Annotation for Custom Queries
Projections and DTOs
Specifications and Criteria API
Pagination and Sorting
Pagination with Pageable
Sorting with Sort
Combining Pagination and Sorting
Transactions and Exception Handling
@Transactional Annotation
Transaction Propagation and Isolation Levels
Exception Translation in Spring Data JPA
Auditing and Versioning
Enabling JPA Auditing
Using @CreatedDate, @LastModifiedDate
Optimistic Locking with @Version
Spring Data JPA Best Practices
Repository Design Patterns
Avoiding N+1 Select Problems
Caching Strategies
Using DTOs for API Responses
Advanced Topics
Spring Data REST Integration
Query by Example (QBE)
Multi-Tenancy with Spring Data JPA
Integration with Spring Security
Spring Data JPA in Microservices
JPA and Microservices Design
Handling Data Consistency
Distributed Transactions
Troubleshooting and Debugging
Common Pitfalls
Logging SQL Queries
LazyInitializationException and How to Fix It
References & Further Reading
Official Spring Data JPA Documentation
Useful Tools and Libraries
Introduction
What is Spring MVC?
What is Spring Boot?
Why Testing is Important in Spring Applications?
Types of Testing in Spring Ecosystem
Basics of Testing in Spring
Unit Testing vs Integration Testing
Mocking Dependencies
Overview of Spring Test Context Framework
Introduction to JUnit and Mockito
Testing in Spring MVC
Using MockMvc
Testing Request Mappings
Testing Response Status and JSON
Mocking Services and Repositories
Testing Services
Using Mockito for Service Layer
Verifying Service Logic
Testing Repositories
Using @DataJpaTest
Testing with H2 In-Memory Database
Exception Handling Testing
Testing @ControllerAdvice
Validating Error Responses
Testing in Spring Boot
@SpringBootTest Overview
Loading ApplicationContext
Testing Embedded Server
Testing REST APIs
Using TestRestTemplate
Testing JSON Responses
Testing Security Configurations
Database Testing
Using @DataJpaTest with H2
Using Testcontainers for Integration Tests
Testing Configuration Properties
Using @TestConfiguration
Testing @ConfigurationProperties
Advanced Testing Topics
Mocking External APIs with WireMock
Using Rest Assured for API Testing
Testing Asynchronous Code
Testing Kafka Consumers/Producers in Spring Boot
Test Utilities and Tools
Mockito
AssertJ
Hamcrest Matchers
Spring Test Utils
JUnit 5 Extensions in Spring Boot
Best Practices
Test Pyramid (Unit, Integration, End-to-End)
Keeping Tests Fast and Isolated
Data Setup and Cleanup (Flyway/Liquibase)
Avoiding Flaky Tests
Real World Scenarios
Testing Microservices with Spring Boot
Testing WebSockets and Messaging
Contract Testing with Spring Cloud Contract
Future Trends
Testcontainers in Spring Boot 3.x
Native Testing with Spring Boot and GraalVM
Cloud Testing Strategies
Introduction to Microservices
What are Microservices?
Monolithic vs Microservices Architecture
Key Characteristics of Microservices
Advantages & Disadvantages
Microservices Architecture
Components of Microservices
API Gateway
Service Registry and Discovery
Database per Service Pattern
Communication (Synchronous vs Asynchronous)
Design Principles
Single Responsibility Principle
Decentralized Data Management
Domain-Driven Design (DDD)
Event-Driven Architecture
Scalability and Resilience Patterns
Building Microservices
Choosing Technology Stack (Spring Boot, Node.js, etc.)
RESTful APIs and gRPC
Service-to-Service Communication (REST, Message Queues)
Data Management Strategies
Shared Database vs Database per Service
Saga Pattern
CQRS (Command Query Responsibility Segregation)
Security in Microservices
Authentication and Authorization (OAuth2, JWT)
API Gateway Security
Securing Inter-service Communication
Rate Limiting & Throttling
Deployment Strategies
Containerization (Docker)
Orchestration (Kubernetes)
CI/CD Pipelines
Blue-Green Deployment
Canary Deployment
Microservices Tools & Frameworks
Spring Boot & Spring Cloud
Netflix OSS (Eureka, Hystrix, Zuul)
Docker & Kubernetes
Istio Service Mesh
Monitoring Tools (Prometheus, Grafana, ELK stack)
Observability & Monitoring
Centralized Logging
Distributed Tracing (Zipkin, Jaeger)
Health Checks
Metrics and Alerts
Resiliency Patterns
Circuit Breaker Pattern
Retry Pattern
Bulkhead Pattern
Fallback Mechanisms
Testing Microservices
Unit Testing
Contract Testing (Pact)
Integration Testing
End-to-End Testing
Chaos Testing
Case Studies / Real World Examples
Netflix
Amazon
Uber
Future Trends in Microservices
Serverless Microservices
Micro Frontends
AI-driven Microservices Management
Introduction to Apache Kafka
What is Apache Kafka?
History and Evolution of Kafka
Why Kafka? (Use Cases & Benefits)
Kafka vs Traditional Message Brokers
Kafka Architecture Overview
Kafka Core Concepts
Producers
Consumers
Brokers
Topics
Partitions
Offsets
Kafka Cluster Architecture
ZooKeeper Role in Kafka
Kafka Data Flow
Kafka Components in Detail
Topics and Partitions
Brokers and Clusters
Producers and Consumers
Consumer Groups
Kafka Connect
Kafka Streams
Kafka REST Proxy
Kafka Installation & Setup
Setting up Kafka (Single Node & Cluster)
Installing ZooKeeper
Configuring Kafka Broker
CLI Tools for Kafka
Producing and Consuming Data
Writing a Kafka Producer
Writing a Kafka Consumer
Message Serialization & Deserialization
Keyed vs Non-Keyed Messages
Kafka Internals
Message Storage
Replication Mechanism
Leader and Follower Roles
ISR (In-Sync Replicas)
Log Segmentation
Kafka in Production
Scaling Kafka Clusters
Monitoring Kafka (JMX, Prometheus, Grafana)
Kafka Security
Authentication (SSL, SASL)
Authorization (ACLs)
Encryption (SSL)
Kafka and Microservices
Kafka for Event-Driven Microservices
Kafka vs REST APIs
Designing Event-Driven Architectures
Saga Pattern with Kafka
Using Kafka with Spring Boot
Advanced Kafka
Kafka Streams API
Kafka Connect API
Exactly Once Semantics
Partitioning Strategies
Rebalancing and Consumer Lag
Testing with Kafka
Unit Testing Kafka Producers and Consumers
Embedded Kafka for Integration Tests
Fault Tolerance Testing
Kafka Ecosystem
Kafka Connectors (Source & Sink)
Confluent Platform Overview
KSQL (Kafka SQL)
Schema Registry
Real World Use Cases
Kafka at LinkedIn, Netflix, Uber
Kafka in IoT, Financial Systems, and Big Data Pipelines
Future Trends & Alternatives
Kafka vs Pulsar vs RabbitMQ vs NATS
Cloud-native Kafka (MSK, Confluent Cloud)
Serverless Kafka
Introduction to CI/CD
What is CI/CD?
Importance of CI/CD in Modern Development
Benefits of CI/CD
CI/CD Concepts and Terminology
Continuous Integration (CI)
Continuous Delivery (CD)
Continuous Deployment
DevOps and CI/CD Relationship
Key Terminologies (Build, Test, Deploy, Pipeline, etc.)
CI/CD Pipeline Overview
What is a CI/CD Pipeline?
Components of a CI/CD Pipeline
Pipeline Stages Overview
Stages of a CI/CD Pipeline
Source Stage (Version Control)
Build Stage
Test Stage (Unit, Integration, Functional Testing)
Deploy Stage (Staging & Production)
Monitor & Feedback Stage
Tools for CI/CD
Jenkins
GitLab CI/CD
CircleCI
Travis CI
Azure DevOps
AWS CodePipeline
Docker & Kubernetes in CI/CD
Pipeline as Code
What is Pipeline as Code?
YAML Configuration Examples
Benefits of Declarative Pipelines
CI/CD Workflow Example
Example: A Typical Workflow
Sample CI/CD Pipeline Diagram
Best Practices in CI/CD
Commit Early, Commit Often
Automated Testing
Rollbacks and Roll-forwards
Security in CI/CD (DevSecOps)
Monitoring & Alerting
Challenges in CI/CD
Common Pitfalls
Overcoming Pipeline Bottlenecks
Scaling CI/CD for Large Teams
Real-World Case Studies
CI/CD in Netflix
CI/CD in Amazon
CI/CD in a Microservices Architecture