# Complete Java & Spring Boot with Spring AI, RAG & AI Agents

**URL:** https://anirudhjwala.in/java-spring
**Markdown:** https://anirudhjwala.in/pages/java-spring.md
**Type:** Udemy course detail page
**Parent:** [/](https://anirudhjwala.in/) · Source: [chaicode.com](https://chaicode.com/udemy/full-stack-java-ai.md)

Go from Java basics to Spring Boot microservices, Spring AI, RAG, AI agents and MCP, then deploy with Docker and AWS

## At a glance

| Field        | Value                           |
| ------------ | ------------------------------- |
| Slug         | `full-stack-java-ai`            |
| Instructors  | Hitesh Choudhary, Anirudh Jwala |
| Rating       | 4.8 (225 students)              |
| Length       | 37h 53m · 166 lectures          |
| Level        | All Levels                      |
| Badge        | Highest Rated                   |
| Price        | ₹399.00 (₹1,919.00 · 79% OFF)   |
| Buy on Udemy | https://go.anirudhjwala.in/spring-ai |
| Preview video | https://www.youtube.com/watch?v=RTAYwHHaYvE |

## What you will learn

- Write modern Java with OOP, collections, exceptions, lambdas, the Stream API and Optional
- Use Git and GitHub, write SQL with PostgreSQL, and build Java projects with Maven and JDBC
- Build REST APIs with Spring Boot and Spring MVC using DTOs, validation and global exception handling
- Model and query data with Spring Data JPA and Hibernate: relationships, pagination, projections and N+1 fixes
- Secure APIs with Spring Security, JWT access and refresh tokens, Google OAuth2 login and role-based access
- Build microservices with Eureka service discovery, Spring Cloud Gateway, OpenFeign and Resilience4j
- Build GenAI features in Java with the OpenAI SDK and Spring AI: ChatClient, structured output and streaming
- Build RAG apps with embeddings and Qdrant, and add conversation memory and custom Spring AI advisors
- Build safe AI agents with tool calling and human approval, and create and consume MCP servers with Spring AI
- Containerize Spring Boot apps with Docker and Docker Compose, and run a microservice stack locally
- Deploy to AWS Elastic Beanstalk with managed PostgreSQL, Spring profiles, GitHub Actions CI/CD and Flyway

## Requirements

- A computer (Windows, macOS or Linux) that can run Java, IntelliJ IDEA and Docker
- No prior Java experience needed. Basic programming familiarity helps, but we start from the fundamentals
- For the GenAI sections, an OpenAI or Anthropic API key with a small amount of credit
- For the deployment section, an AWS account (free tier works for learning) and a GitHub account

## Description

This course takes you from writing your first Java program to building, securing and deploying production-style Spring Boot applications, and then adding real AI features with Spring AI. Everything is taught hands-on: you write the code alongside us, hit the same errors, and fix them the way you would on a real project.

**What you will build and learn**

Java fundamentals and modern Java: OOP, exceptions, collections, lambdas, the Stream API, Optional, BigDecimal and the Date-Time API.

Developer foundations: Git and GitHub, SQL with PostgreSQL, Maven builds and profiles, and JDBC with prepared statements and transactions.

Backend and Spring Boot: HTTP and REST design, beans and dependency injection, REST controllers, DTOs, validation, the service layer and global exception handling.

Spring Data JPA and Hibernate: entity mapping, relationships, pagination, projections, cascading, transactions and fixing N+1 queries.

Spring Security: the filter chain, custom authentication, JWT access and refresh tokens, Google OAuth2 login, session limits, roles, permissions and method-level security.

Microservices: Eureka service discovery, Spring Cloud Gateway, OpenFeign and Resilience4j retry, rate limiting and circuit breakers.

Generative AI with Spring AI: how LLMs work, prompts and model controls, the OpenAI Java SDK, ChatClient, structured output, streaming and multimodal input.

RAG, memory and advisors: embeddings, Qdrant vector search with tenant isolation, document ingestion, manual and advisor-based RAG, conversation memory and custom advisors.

Tools, agents and MCP: safe tool calling with human approval, practical agents with observability and evaluation, and building and consuming MCP servers.

Docker and deployment: Dockerfiles, Docker Compose, managed PostgreSQL, Spring profiles, AWS Elastic Beanstalk, GitHub Actions CI/CD and Flyway migrations.

**How the course works**

Each section builds on the previous one, and every section ends with a quiz so you can check your understanding before moving on. Lectures come with captions, and you can ask questions in the Q&A whenever you get stuck.

By the end, you will be able to design, build, secure and deploy a modern Java backend, and confidently add GenAI features such as RAG, memory, tool calling and agents to real Spring Boot applications.

**Who this course is for:**

- Beginners who want to become job-ready Java backend developers from scratch
- Developers coming from JavaScript, Python or other languages who want to move to Java and Spring Boot
- Java developers who want to master modern Spring Boot, security, microservices and deployment
- Backend developers who want to add GenAI, RAG, AI agents and MCP to real Spring Boot applications

## Instructors

### Hitesh Choudhary - Founder & Lead Educator

Founder of LCO (acquired). Former CTO at iNeuron and Sr. Director at PW, now shaping global tech education communities.

- X: https://x.com/hiteshdotcom
- Linkedin: https://www.linkedin.com/in/hiteshchoudhary/
- Website: https://hitesh.ai

### Anirudh Jwala - Sr. Software Developer

Software engineer with 6+ years building enterprise apps in Java, Spring Boot, React, Angular, and GenAI.

- X: https://x.com/@nirudhuuu
- Linkedin: https://www.linkedin.com/in/anirudhjwala/
- Website: https://anirudhjwala.in/
- GitHub: https://github.com/anirudhuuu
- YouTube: https://www.youtube.com/@anirudhjwala

## Syllabus

_26 sections · 238 curriculum items (from Udemy public curriculum)._

### Introduction

- Introduction
- Code files for the course

### Basics & Setup

- What is a Programming Language?
- How a Java Program Runs
- Understanding JDK, JRE, and JVM
- Installing Java & IntelliJ IDEA
- Basics & Setup Quiz

### Fundamentals

- First Java Program & Main Method
- Keywords, Variables & Data Types
- Type Conversion & Operators
- Commenting & User Input
- Conditionals & Loops
- Arrays, Methods & Strings
- Java Fundamentals Quiz
- Grade Calculator
- Array and String Utilities

### Object Oriented Programming

- Classes, Objects, Constructors, and this Keyword
- Inheritance and Method Overriding
- super, this vs super, and final Keyword
- Java Packages & Access Modifiers
- Encapsulation & Data Hiding
- The `static` Keyword
- Abstraction: abstract classes & interfaces
- Functional Interfaces & Lambda Expressions
- Java Memory & Object Class
- Polymorphism in Java
- Object Oriented Programming Quiz
- Bank Account with Encapsulation
- Shapes with Abstraction and Polymorphism
- Build a Student Profile
- Build an Employee Hierarchy
- Track Library Members with Static Members
- Build a Notification System
- Apply Discounts with Lambda Expressions

### Core & Modern Java

- Exceptions and Try-Catch
- Throw, Throws, and Custom Exceptions
- Collections: List, Set, Map
- Sorting with Comparator
- Date-Time API
- Optional and BigDecimal
- Stream API Essentials
- Method References
- Core & Modern Java Quiz
- Inventory with Collections and Custom Exceptions
- Employee Report with Streams, Comparators and Optional
- Validate an Order with Custom Exceptions
- Sort Products with Comparator
- Check Appointment Availability
- Calculate Shopping Cart Totals with BigDecimal

### Git and Github

- Introduction to GIT series
- Git init and hidden folder
- Git commits and logs
- Git internal working and configs
- Git merge and git conflicts
- Git Diff and stashing
- Git rebase is not that scary
- Insight of pushing code to github
- How to make Pull Request and Open Source contribution

### Maven and Java Project Structure

- Maven Project Structure and pom.xml
- Maven Lifecycle, Plugins, and Packaging
- Maven Profiles
- Maven Multi-Module Overview
- Maven and Java Project Structure Quiz

### Master SQL for web developers | MySQL and Postgresql

- Introduction to SQL for web developers
- SQL Terminologies
- MYSQL Postgresql and SQLite in real world
- How to install Postgresql on a local machine
- A tour of PGAdmin 4 of postgresql
- MySQL and MySQL Workbench installation and Tour
- SQL extension for VSCode
- A Complete crash course on CRUD operation
- Entity Relationship diagrams in depth
- DDL - CREATE ALTER DROP TRUNCATE and RENAME
- DML - INSERT UPDATE DELETE and SELECT
- DCL - GRANT and REVOKE access to database
- TCL - BEGIN COMMIT ROLLBACK and SAVEPOINT
- DTO and DQL in sql
- First Normal Form of Database
- Second and Third Normal Form
- Concept of JOIN and INNER JOIN
- LEFT RIGHT OUTER and CROSS Joins are so easy now
- Aggregate Function and Inner queries
- Query an Online Store Database
- Analyze Store Sales with SQL Joins

### JDBC Essentials

- Why JDBC Exists & Connecting Java to PostgreSQL
- Statement vs PreparedStatement & SQL Injection
- Reading ResultSet Data
- Inserting and Updating with JDBC
- JDBC Transactions
- Why Raw JDBC Becomes Painful
- JDBC Essentials Quiz
- Map Database Rows to Java Objects
- Transfer Money Atomically

### Web, HTTP and REST API Foundations

- Client-Server, Browser and API Flow
- HTTP Request, Response and Methods
- HTTP Status Codes and Error Thinking
- JSON and API Payloads
- REST Resource Design and Endpoint Naming
- Web, HTTP and REST API Foundations Quiz

### Spring and Spring Boot Fundamentals

- Why Spring Framework Exists
- Your First Spring Boot Project
- Understanding Spring Beans
- Dependency Injection in Spring
- Spring Framework vs Spring Boot
- How Spring Boot Auto-Configuration Works
- Spring and Spring Boot Fundamentals Quiz
- Refactor to Dependency Injection

### Spring MVC and Layered REST API Development

- How Spring Handles Requests
- Building REST Controllers & Data Transfer Objects (DTOs)
- Connecting to the Database: Repository Interfaces
- Writing Business Logic: The Service Layer
- Updating and Deleting Data (PUT, PATCH, DELETE)
- Validating API Inputs & Custom Rules
- Handling Errors & Returning Meaningful API Responses
- Mapping Database Entities to API Responses
- Spring MVC and REST API Development Quiz
- Service Layer: DTO Validation and Mapping
- Review a Spring Boot REST API Before Production
- Apply a Partial User Profile Update
- Map Exceptions to API Error Responses

### Hibernate and Spring Data JPA

- JPA & Hibernate: Entity Mapping Fundamentals
- Spring Data JPA Repositories & Query Methods
- Sorting & Pagination with Spring Data JPA
- Projections & Aggregations in Spring Data JPA
- Hibernate Entity Lifecycle & Persistence Context
- Entity Relationships & JPA Mappings
- JPA Cascading & Transactions
- Fetch Strategies, Orphan Removal & N+1 Queries
- Hibernate and Spring Data JPA Quiz
- Diagnose a Slow Spring Data JPA Application
- Build Pagination for Product Results
- Build an Order Summary Projection

### Spring Security Fundamentals and JWT Basics

- Spring Security Fundamentals: CSRF Attacks
- Spring Security Setup, Authentication & Internal Filter Chain
- Custom User Authentication with UserDetailsService
- Configuring SecurityFilterChain: Route Security, Roles & Sessions
- JWT Fundamentals: Token Creation, Signing & Verification
- JWT Authentication: Sign Up, Login & Token Delivery
- Authenticating Protected Requests with a Custom JWT Filter
- Spring Security Exception Handling for Login & JWT Errors
- Spring Security Fundamentals and JWT Quiz
- Authenticate a User
- Validate JWT Claims and Expiration

### Advanced Spring Security

- Access Tokens & Refresh Tokens with JWT
- OAuth2 Login with Google in Spring Security
- JWT Session Management: Limiting and Validating User Sessions
- Role-Based Authorization with Spring Security
- Granular Authorization with Roles, Authorities & Permissions
- Method-Level Security with @Secured and @PreAuthorize
- Advanced Spring Security Quiz
- Security Review: JWT, OAuth2 and Access Control
- Authorize Actions with Roles and Permissions

### Microservice Architecture

- Introduction to Microservice Architecture
- Setting up CoWorking Microservices project
- Service Discovery & Registration with Eureka
- Routing Microservices with Spring Cloud API Gateway
- Service-to-Service Communication with Spring Cloud OpenFeign
- Resilient services with Resilience4j: Retry, Rate Limiter, Circuit Breaker
- Microservice Architecture Quiz
- Design Review: Splitting a Monolith into Microservices
- Build a Simple Circuit Breaker
- Retry a Failing Service Call

### Generative AI Foundations

- From Backend Development to Generative AI
- How LLMs Work: Tokens, Context, Generation, Cost
- Prompts, Messages and Model Controls
- OpenAI Java SDK: Text Generation
- OpenAI Java SDK: Structured Output with Streaming Response
- OpenAI Java SDK: Tool Calling
- Generative AI Foundations Quiz
- LLM Token and Cost Estimator

### Spring AI - Lets start here

- Spring AI Architecture and Core Abstractions
- Building Typed AI APIs with ChatClient
- Streaming and Multimodal AI
- Spring AI Quiz
- Build a Typed AI Request

### Embeddings and RAG with Qdrant

- Embeddings, Semantic Search and Spring AI VectorStore
- Setting up Spring AI with QdrantDB
- Qdrant, Metadata Filters and Tenant Isolation
- RAG Architecture and Document Ingestion
- Hands on with RAG and Document Ingestion
- Building a RAG System Manually
- Building an Advisor-Based RAG System
- Embeddings and RAG with Qdrant Quiz
- Pitching a RAG Assistant to Your Product Manager
- Cosine Similarity and Top-K Retrieval
- Filter and Rank RAG Documents

### Memory and Advisors

- Conversation Memory in AI Applications
- Adding Memory Layer in Spring AI Application
- Spring AI Advisors
- Building a Custom Spring AI Advisor
- Memory and Advisors Quiz
- Message Window Chat Memory
- Build a Custom AI Advisor Pipeline

### Tool Calling

- Understanding Tool Calling in Spring AI
- Building Tool Calling with Claude for Spring Boot
- Safe Actions, Human Approval, Authorization and Idempotency
- Implementing Safe Actions and Human Approval in Spring AI
- Tool Failures, Retries, Timeouts and Execution Limits
- Tool Calling Quiz
- Getting Sign-off for an AI Agent That Takes Actions
- Safe Tool Action: Approval and Idempotency
- Validate Tool Calls Before Execution

### Agents

- Agents vs Deterministic Workflows
- Building Creator's Cut: A Practical Spring Boot Agent
- AI Agent Observability and Evaluation Fundamentals
- Building Observability and Evaluation for AI Agents
- Agents Quiz
- Decide Whether a Product Actually Needs an AI Agent
- Route Tasks to the Right Workflow
- Evaluate an AI Agent Run

### Model Context Protocol (MCP)

- MCP Fundamentals and Concepts
- MCP Server Fundamentals with Spring AI
- Building an MCP Server with Spring AI
- MCP Client and Tool Discovery in Spring AI
- Consuming MCP Tools from a Spring AI Host
- Model Context Protocol (MCP) Quiz
- Discover Compatible MCP Tools

### Docker and Docker compose

- Introduction to Docker: Containers, Images & Architecture
- Docker Setup & Installation
- Essential Docker Commands
- Building Docker Images for Spring Boot with Dockerfile
- Building Docker Images for Spring Boot with Maven
- Managing Multi-Container Applications with Docker Compose
- Running a Microservice Architecture with Docker Compose
- Docker and Docker Compose Quiz

### AWS Deployment and CI/CD

- From Local Docker Compose to Managed PostgreSQL
- Spring Profiles, Production Configuration and PostgreSQL
- Spring Profiles and PostgreSQL: Hands-on
- Preparing Spring Boot to Deploy on AWS
- Deploying to Production with Elastic Beanstalk
- GitHub Actions and CI/CD
- Deploying to Elastic Beanstalk with GitHub Actions
- Flyway Migrations and Safe Production Releases
- Deploying Spring Boot app to Vercel
- AWS Deployment and CI/CD Quiz
- Plan a Safe Spring Boot Production Release

### Farewell

- Farewell to learners
- Mock Interview: Java Spring Boot Backend Developer

## Related

- Full Udemy catalog: [/udemy.md](/udemy.md)
- Products: [/products.md](/products.md)
- Related courses: [/udemy/full-stack-gen-ai.md](/udemy/full-stack-gen-ai.md) · [/udemy/fastapi-genai.md](/udemy/fastapi-genai.md)

---

Human-readable route summary for agents and SEO. Syllabus synced from course syllabus constants.
