✅ Part of the Spring Boot Roadmap — a curated masterclass covering everything from Java basics to advanced Spring Boot practices and projects.
It is one of several interconnected repositories making up the broader Spring Boot Roadmap, which provides a complete learning journey.
It is recommended that you understand the material here before attempting the main Spring Boot Roadmap sections. This section specifically is derived from: How To Master Java - Java for Beginners Roadmap (YouTube/AmigosCode)
i. Prerequisites
1. Java Core
2. Databases
3. Build Tools
ii. Extra
1. Git
2. Logging / Documentation
It is important to understand the programming language of the framework you are trying to learn. Spring Boot is an open source Java-based framework therefore you must be familiar with Java beforehand.
For Java, it is important to understand many concepts. This includes: OOP, Interfaces, Variables, Classes, Loops, Inheritance, Datastructures etc.
Supporting Material
Java Core Guide (PDF/ArsalaanNaeem)
Java Full Course (YouTube/AmigosCode)
Learn Java in 14 Minutes (YouTube/AlexLee)
A full stack developer must be familiar with backend development and more specifically, databases. A database in a web application is a way of storing and organising the data for your application. There are many types of databases to learn, but here are a few popular ones: SQL, MySQL, NoSQL and MongoDB.
One must be familiar with ORM (Object-Relational Mapping) tools such as Spring Data JPA or Hibernate. You must know JDBC (Java Database Connectivity) also.
SQL is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS).
MongoDB is a source-available cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas.
Supporting Material
SQL Basics Cheat Sheet (PDF/LearnSQL)
MongoDB Cheat Sheet (PDF/WebDevSimplified)
JDBC vs JPA vs Hibernate vs Spring Data JPA in 9 minutes (YouTube/JavaMaster)
Build tools are commonly known as programs that automate the process of building an executable application from source code. This building process includes activities like compiling, linking and packaging the code into an executable form. Following is the list of Open source Java Builds: Apache Maven, Ant with ivy, Gradle and SBT.
Maven’s scalability and extensibility make it an attractive choice for small development teams who need automated builds but don’t have a lot of resources allocated toward software engineering overhead.
Supporting Material
What Is Maven? (YouTube/Simplilearn)
Git is a free and open source software for distributed version control: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development.
GitHub and Git commands can be used in the Terminal therefore it is ideal to be familiar with Linux/UNIX bash commands.
Supporting Material
UNIX Quick Reference (PDF)
Bash Cheat Sheet (GitHub/RehanSaeed)
Git Cheat Sheet (PDF/GitHubEducation)
What is Git? Explained in 2 Minutes! (YouTube/ProgrammingWithMosh)
Git And GitHub in ~30 Minutes (YouTube/TechWithTim)
Logging is a means of tracking events that happen when some software runs. Logging is important for software developing, debugging, and running. If you don't have any logging record and your program crashes, there are very few chances that you detect the cause of the problem.
The most popular java logging frameworks are Log4j2 and Logback. They have a predecessor in Log4j. SLF4J is a logging facade that provides a common interface for different logging frameworks.
Swagger UI, a part of Swagger, is an open source tool that generates a web page that documents the APIs generated by the Swagger specification. This UI presentation of the APIs is user friendly and easy to understand, with all logic complexity kept behind the screen.
Supporting Material (Logging)
Logback vs SLF4J vs Log4J2 - what is the difference? (YouTube/JavaBrains)
How to do logging in Spring Boot (YouTube/JavaBrains)
Supporting Material (Documentation)
How to add Swagger to Spring Boot (YouTube/JavaBrains)
How to configure Swagger in Spring Boot (YouTube/JavaBrains)
