Skip to content

This repository serves as a comprehensive guide covering prerequisites and complementary skills for mastering the Spring Boot roadmap.

Notifications You must be signed in to change notification settings

arsy786/prerequisites-and-extra-tutorials

Repository files navigation

Prerequisites and Extra Tutorials

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)

Java Roadmap

Table of Contents

i. Prerequisites
     1. Java Core
     2. Databases
     3. Build Tools
ii. Extra
     1. Git
     2. Logging / Documentation

i. Prerequisites

1. Java Core

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)

2. Databases

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)

3. Build Tools

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)

ii. Extra

1. Git

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)

2. Logging / Documentation

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)

About

This repository serves as a comprehensive guide covering prerequisites and complementary skills for mastering the Spring Boot roadmap.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published