/java-crash-course

A guide for junior/mid-level developers to learn the most essential Java / Spring concepts.

Java / Spring Crash Course

Version 1.0

If you have any questions / concerns, need further assistance, or need to expense any online courses, please contact your supervisor or the Java Capabilities Area Lead: kenneth.russell@excella.com.

Overview

What is this for?
This is a reference guide to learn the most essential Java and Spring Boot concepts in order to be able to contribute as a Java developer when staffed.

Who is this for?
Junior / Mid-Level developers who have experience with other languages and would like to learn Java and Spring Boot.

How does this work?
The Java / Spring Crash Course is not intended to be work like a typical online course. Each section / topic is meant to be à la carte; pick and choose topics / concepts you're unfamiliar with to fill in any knowledge gaps you may have.

Need to learn the most bare-bone concepts required to contribute as a Java dev?
Everything under Core Concepts are things you should understand before starting as a Java developer on a project. See: Essential Java and Spring Boot.

Have a good grasp of the basics?
Learn some advanced topics that are commonly used on most projects.

Want to learn how Spring Boot connects with everything else?
We recommend you read through the Integration and Microservices section.

How can I get more hands-on when learning concepts in this guide?
Spring Reactor Template is a simple Spring application that we use as a template to create new microservices on some of our projects.

Core Concepts

1) Essential Java

Fundamental concepts (mostly Java-specific). We recommend learning / understanding all of these concepts before going through any of the Spring Boot content.

If you're still new to development and need to learn core foundations / basic concepts, we recommend you go through the Java Tech College Handbook.

2) Spring Boot

This section will help you understand all the core pieces of a Spring Boot application. We recommend going through / understanding Essential Java concepts before learning the following topics.

Further Learning

3) Advanced

Commonly used concepts, libraries, and tools used when building a typical Java Spring Boot microservice.

4) Integration and Microservices

Learn how to containerize, deploy, and integrate your Spring Boot app with other microservices. Coming soon!