Full Stack Java

Apply for Course

Java is an object-oriented, high-level programming language developed by Sun Microsystems (now owned by Oracle Corporation). Created in 1991 by James Gosling, Java has become one of the most popular programming languages globally....

Download

Brochure

Course Content

Core Java

Introduction to Java

  • What is Java?
  • History and Features of Java
  • C++ vs. Java
  • Hello Java Program
  • Internal How to set the path?
  • JDK, JRE, and JVM (Java Virtual Machine)
  • JVM Memory Managemen
  • Internal Details of JVM

Conditional Statements and Control Statements

  • If Statement
  • If-elseif-else Statement
  • Switch Statement
  • For Loop
  • For-each Loop
  • While Loop
  • Do-while Loop
  • Control Statements

Data Types and Operators

  • Variables , declaring multiple variables identifiers.
  • Data Types in Java(Primitive and Non-Primitive)
  • Type Casting
  • Operators in java
  • Java Input and Output
  • Java Expressions and Blocks

File Handling

  • File class basics
  • Reading and writing with FileReader/FileWriter
  • BufferedReader/BufferedWriter for efficiency
  • FileInputStream/FileOutputStream (for binary files)
  • Serialization/Deserialization
  • File filters (like file extension filters)
  • Directories (creating, deleting, etc.)
  • RandomAccessFile (for reading/writing at specific positions)
  • NIO package (Non-blocking I/O for more advanced stuff)

Exceptions Handling

  • Exception hierarchy
  • try, catch, and finally blocks
  • throw and throws keywords
  • Custom exceptions
  • Multiple catch blocks
  • Nested try-catch blocks
  • Try-with-resources (for automatic resource management)
  • Exception chaining
  • Best practices in exception handling

String ,String Buffer, String Builder

  • String
  • Immutable String
  • String Comparison, String concatenation
  • String Methods
  • Substring
  • StringBuffer class
  • StringBuilder class
  • toString method
  • StringTokenizer class

Arrays

  • Single-dimensional arrays
  • Multi-dimensional arrays (2D, 3D arrays, etc.)
  • Array declaration, creation, and initialization
  • Accessing and modifying array elements
  • Iterating through arrays (using loops, enhanced for loop)
  • Array length property
  • Array sorting (using Arrays.sort())
  • Copying arrays (manual copying, System.arraycopy(), Arrays.copyOf())
  • Array utility methods (from java.util.Arrays class)
  • Jagged arrays (arrays with rows of varying lengths)

Methods in Java

  • Method declaration and definition
  • Method parameters (pass-by-value)
  • Method return type
  • Method overloading
  • Static methods vs. instance methods
  • Recursion
  • Varargs (variable-length argument lists)
  • Access modifiers for methods (public, private, protected)
  • Method calling (within the same class and across classes)
  • this keyword in methods

Modifiers & Packages

  • Access Modifiers
  • Non-access Modifiers
  • Creating and using packages
  • Importing packages
  • Default package
  • java.lang package (automatically imported)
  • Sub-packages
  • Access control with packages (package-private access)
  • Creating JAR files
  • Static imports

Object-oriented programming

  • Classes and Objects
  • Encapsulation
  • Abstraction
  • Inheritance
  • Polymorphism (compile-time and runtime)
  • Constructors (default, parameterized, copy constructors)
  • this and super keywords
  • Method overriding
  • Abstract classes and methods
  • Interfaces

Exception handling

  • Error and Exception
  • Java Try-Catch Block.
  • Java Multiple Catch Block.
  • Java Nested Try.
  • Throw Exception
  • Creating Customized Exception

Advance Java

Multithreading

  • Difference b/w multitasking , multiprocessing and multithreading
  • DIFFERENCE B/W PROCESS AND THREAD :
  • THREAD (LIFE CYCLE OF THREAD)
  • CREATE THREAD USING THREAD CLASS AND RUNNABLE INTERFACE
  • DIFFERENT CASES OF EXECUTING TASK :
  • THREAD CLASS METHOD AND CONSTRUCTORS:
  • METHODS OF THREAD CLASS :
  • THREAD PRIORITES
  • SLEEP METHOD
  • YIELD METHOD
  • JOIN METHOD:
  • THREAD INTERRUPT :
  • SYNCHRONIZATION :
  • MULTI-THREAD INTERCOMMUNICATION (wait() , notify() , notifyAll() )

Collections

  • List
  • ArrayList
  • LinkedList
  • Vector
  • HashSet
  • HashMap
  • Tree

JDBC

  • JDBC Drivers
  • Steps to connect to Database
  • Connectivity with MySQL
  • Types of JDBC statements: Statement, Prepared statement, Callable statement
  • Database Metadata, Resultset Metadata

Collection Framework

  • DEAD LOCK SITUATION :
  • WRAPPER CLASSES :
  • DATA STRUCTURE (OVERVIEW) :
  • DIFFERENCE B/W ARRAYS AND COLLECTION :
  • COLLECTION FRAMEWORK :
  • DIFFERENCE B/W SET AND LIST :
  • DIFFERENCE B/W ITERATOR AND LIST ITERATOR :
  • Enumeration
  • ARRAYLIST and LINKEDLIST
  • LEGACY CLASSES : (Vector , Stack , HashTable , Properties)
  • HASHSET and TREESET
  • MAP , HashMap , LinkedHasMap and HashTable
  • Access Modifiers

Spring Boot

Spring Boot | Introduction

  • Overview of Spring Boot and its Purpose.
  • Features of Spring Boot (Auto-Configuration, Starter Dependencies).
  • Comparison: Spring vs. Spring Boot.
  • Understanding Spring Boot Architecture.
  • Use Cases of Spring Boot in Modern Applications.

Spring Boot | Basics

  • What is Spring Boot?
  • Why use it (vs plain Spring Framework)?
  • Using Spring Initializr
  • Project structure overview
  • @SpringBootApplication annotation
  • Auto-configuration
  • Starter dependencies
  • application.properties vs application.yml
  • @RestController & @RequestMapping
  • Handling GET, POST, PUT, DELETE
  • Spring Data JPA basics
  • Connecting to a database (H2/MySQL)
  • Repository layer
  • Running with embedded Tomcat
  • Simple unit test with @SpringBootTest

Spring Boot | Annotations

  • @SpringBootApplication
  • @EnableAutoConfiguration
  • @ComponentScan
  • @Component
  • @Service
  • @Repository
  • @Controller / @RestController
  • @Autowired
  • @Qualifier
  • @Primary
  • @Configuration
  • @Bean
  • @Value (for injecting values)
  • @RequestMapping , @GetMapping, @PostMapping, @PutMapping, @DeleteMapping
  • @PathVariable , @RequestParam , @RequestBody
  • @Entity @Id, @GeneratedValue @Table, @Column
  • @SpringBootTest @Test

Spring Boot | Devtools Dependency

  • What is Devtools? Why do we use it in development?
  • Add in pom.xml (Maven) or build.gradle (Gradle) Auto-inclusion in Spring Initializr
  • Automatic Restart ? restarts app when code changes Live Reload ? auto-refresh browser (with plugin support)

Spring Boot | Actuator

Spring Boot | With Rest Applications

  • What is REST? REST principles (stateless, client-server, JSON/XML)
  • Setting up project with Spring Initializr Dependencies required (spring-boot-starter-web)
  • @RestController and @RequestMapping Creating simple GET API
  • @GetMapping ? fetch data @PostMapping ? create data @PutMapping ? update data @DeleteMapping ? delete data
  • @PathVariable @RequestParam @RequestBody Returning JSON response
  • Using Spring Data JPA with REST Simple CRUD with Repository
  • Using Postman / Curl to test endpoints Example GET/POST request

Spring Boot | With Logger

Sprint Boot | Deploy Spring Boot Application on External Tomcat Server

Spring Boot | Common Applications Properties(applications.properties)

  • Role of application.properties file Difference between application.properties vs application.yml
  • server.port ? change default port server.servlet.context-path ? set context path
  • spring.datasource.url spring.datasource.username spring.datasource.password spring.jpa.hibernate.ddl-auto (create, update, validate) spring.jpa.show-sql
  • spring.profiles.active (dev, test, prod) Profile-specific properties (application-dev.properties)

Spring Boot | RESTful Web Service

Spring Boot | Swagger UI

  • What is Swagger & Swagger UI? Why we use it (API documentation + testing without Postman)?
  • springdoc-openapi-ui dependency in pom.xml
  • Default Swagger URL (http://localhost:8080/swagger-ui.html) Auto-generated API docs (/v3/api-docs)
  • @Operation (for describing endpoints) @ApiResponses / @ApiResponse (for response codes) @Parameter (for request params)
  • Trying GET, POST, PUT, DELETE directly from Swagger Sending JSON request bodies

Spring Boot | API

Spring Boot | CRUD

  • What is CRUD (Create, Read, Update, Delete)? Importance of CRUD in real-world applications
  • Using Spring Initializr Dependencies ? spring-boot-starter-web, spring-boot-starter-data-jpa, Database (H2/MySQL)
  • @Entity, @Id, @GeneratedValue Example: Student or Employee entity
  • JpaRepository / CrudRepository Built-in methods (save, findAll, findById, deleteById)
  • Writing business logic in a @Service class
  • Creating REST APIs for CRUD POST ? Create GET ? Read (all + by id) PUT ? Update DELETE ? Delete
  • Using H2 (in-memory DB for demo) Configuring MySQL (real-world use case)
  • Using Postman / Swagger UI to test endpoints

Spring Boot | Sessions

  • What is a session? Difference between session and cookie Why sessions are needed (state management in stateless HTTP)?
  • Default session handling in Spring Boot (via Servlet container – Tomcat) Adding spring-boot-starter-web dependency
  • Using HttpSession object Storing and retrieving attributes from session
  • Default session timeout Configuring timeout in application.properties ? server.servlet.session.timeout=15m
  • Login API storing user details in session Fetching session attributes in another API
  • Avoid storing large objects in session Use session only for user-related state Prefer stateless JWT tokens for microservices

Spring Boot | CORS Support

Spring Boot | Custom Exception Handling

  • Why handle exceptions in Spring Boot? Difference between default error response vs custom error response
  • Extending RuntimeException Example: UserNotFoundException
  • Handle specific exceptions inside a @RestController Returning a custom response (ResponseEntity)
  • Centralized error handling for all controllers Using @ExceptionHandler inside @ControllerAdvice
  • Creating a custom error model (timestamp, message, details) Returning consistent JSON error responses
  • Using @ResponseStatus Mapping exceptions to correct HTTP codes (404, 400, 500)
  • Build a small REST API (e.g., Student API) Throw custom exception when resource not found Show API response with proper error JSON

Hibernate

Hibernate | Introduction

  • What is Hibernate?
  • Advantages of Hibernate over JDBC
  • Features of Hibernate
  • Hibernate architecture and components

Hibernate | Configuration

Hibernate | Annotation

Hibernate | Basic

  • Hibernate environment setup
  • Hibernate configuration file (hibernate.cfg.xml)
  • ORM (Object-Relational Mapping) concept
  • POJO (Plain Old Java Objects) and their role in Hibernate
  • First Hibernate program: Connecting Hibernate with a database

Thymeleaf

Java | Introduction to Thymeleaf

  • Introduction to Thymeleaf
  • Why use Thymeleaf

Thymeleaf Syntax and Expressions

Template Layouts

Displaying Data

Form Handling

Attributes

Testing Templates

  • Unit testing Thymeleaf templates
  • Integration testing with Spring Boot

Advanced Features

  • Using JavaScript and AJAX
  • Integrating libraries and frameworks
  • Caching templates

Swings

GUI(Swings)

  • Swing Introduction
  • Java Jbutton, Java Jlabel
  • Java JTextField, Java JTextArea
  • Java JPasswordField, Java JCheckBox
  • Java JRadioButton,Java JComboBox
  • Java Jtable,Java Jlist
  • Java JOptionPane,Java JScrollBar
  • And more Swing Widgets