Course Highlights
  • Learn advanced Java and the Spring Framework to build highly scalable, robust, enterprise-grade Java applications. You'll learn modern development techniques and build dozens of complex applications such as RESTful APIs, dynamic web applications, fool-proof security systems and much more. When you finish this course, you'll be a legitimately capable software developer.
Curriculum

2 Topics
Advanced Java + Spring Framework Course Overview
Using CodingNomads Discord Community

10 Topics
Installing the JDK
How to Install Homebrew on Mac
Installing a Terminal Emulator
How to Install Maven
Video: Using Apache Maven
How to Install Gradle
Video: Using Gradle
Simplify Your Code with Lombok
Video: Using Project Lombok
Feedback: Installing Java & Spring

9 Topics
Create Your Course File Structure
Get Your Spring Course Labs
Video: Download Labs Project
Pushing Labs to GitHub
Video: Pushing Labs to GitHub
How to Open Your Labs in IntelliJ
Video: Open Your Labs in IntelliJ
Push Your Labs Project to GitHub
Feedback: Spring Workspace Set Up

4 Topics
Build a Spring Boot Comedy App
Video: Spring Boot Comedy App
Labs: Inspirational Quotes
Feedback: Building Simple Spring Applications

8 Topics
Understanding the Spring Framework in Java
Java Spring Boot Overview
Create a Spring Application using Initializr
Video: Spring - What Why and How
Labs: Build a Basic Spring Boot Web App
Quiz: The Spring Framework
Questions: Spring Framework
Feedback: Spring Framework Overview

10 Topics
Introduction to Dependency Injection
Video: Dependency Injection in Java
Intro to Inversion of Control (IoC)
Video: IoC With Spring
Dependency Lookup
How to Use Dependency Injection
Labs: Dependency Injection
Quiz: IoC and Dependency Injection
Questions: IoC and Dependency Injection
Feedback: Spring IoC

27 Topics
Spring ApplicationContext
Spring ApplicationContext Event Handling
Video: Spring ApplicationContext
Spring Beans
Spring Bean Scopes
Video: Spring Bean Scopes
Spring Bean Life Cycle Stages
Video: Bean Lifecycle
Java Annotations
@Configuration
@Bean
Video: @Configuration & @Bean
@ComponentScan
@Autowired
Video: @Autowired
@Lazy
Video: @Lazy
@Value
Video: @Value
@Primary
Video: @Primary
@Scope
Advanced Annotations
Labs: Spring Core
Quiz: Spring Core
Questions: Spring Beans & Annotations
Feedback: Spring Core

45 Topics
Simplifying Database Interactions with Spring Data
Video: Spring Data
Spring Data JDBC
Video: Spring Data JDBC
What is an ORM?
Java Persistence API + Spring Data JPA
Video: Spring Data JPA
JPA Annotations
Video: Creating Database Tables with Spring Data JPA
Entity Relationships in Spring Data JPA
One-to-One Relationships
Video: @OneToOne Relationship
One-to-Many + Many-to-One Relationships
Video: @OneToMany + @ManyToOne
Many-to-Many Relationships
Video: @ManyToMany
@JoinColumn Configurations
Spring Data JPA Repositories
Video: JPA Repositories
Derived Query Methods in Spring Data JPA
Video: Derived Query Methods
@Query Annotation
Video: @Query
Lifecycle Callback Annotations
Video: Lifecycle Callback Annotations
Under the Hood: Hibernate
Spring Hibernate Integration
@Transactional and ACID in Spring Data JPA
@Transactional Properties: Timeout and Rollback
Common Spring Data JPA Repository Issues
MyBatis: A Flexible Java Data Mapping Framework
MyBatis Mappers and CRUD Operations
Video: MyBatis and Mappers
Mapping POJOs with @Results + @Result
Video: MyBatis @Results
MyBatis Nested Relations with @One and @Many
Video: MyBatis @One and @Many
Integrating MyBatis Mappers with Spring
Video: MyBatis Mappers & Spring
Querydsl
Querydsl Docs
Labs: Spring Data JPA
Quiz: Spring Data
Questions: Spring Data
Feedback: Spring Data

32 Topics
Introduction to Web Services
JSON: The Preferred Data Format for Web Services
Video: JSON Data Format
Install a JSON Formatter Extension for Better Readability
HTTP: The Protocol Powering the Web
HTTP Requests: Methods Headers and Bodies
URL Structure in Web Development
Video: URL Structure
HTTP Status Codes
HTTPS: Securing Web Communication
RESTful APIs & Endpoints
Video: RESTful APIs
Making a GET Request In Your Browser
Video: GET Requests in the Browser
Postman API Client
Make a GET Request in Postman
Video: GET Requests in Postman
DELETE Requests with Postman
Video: DELETE Requests Using Postman
POST Requests with Postman
Video: POST Requests with Postman
PUT Requests with Postman
Video: PUT Requests with Postman
PATCH Requests with Postman
Video: PATCH Requests with Postman
HEAD and OPTIONS Requests with Postman
Video: HEAD and OPTIONS Requests with Postman
cURL for HTTP Requests from the CLI
Labs: HTTP Requests & APIs
Quiz: HTTP & Web Services
Questions: HTTP Requests & Web Services
Feedback: Spring HTTP & Web Services

33 Topics
Prepare for API Interaction with Java and Spring
Spring RestTemplate: GET Requests
Spring RestTemplate: POST Requests
Video: Spring RestTemplate POST Requests
Spring RestTemplate: Advanced Requests
Video: Spring RestTemplate Advanced Requests
Java Servlets Explained
Java Servlet Types
Spring Controllers
Video: Simplify Java Servlets with Controllers
Defining Spring Endpoints with @RestController
Shortcut Annotations for Spring Endpoints
Video: Spring @RestController Endpoints
Using ResponseEntity for Spring HTTP Responses
Video: ResponseEntity
@ResponseBody in Spring
Video: @ResponseBody
JSON Serialization in Spring
Spring Endpoints: Handling Client Data with Annotations
Handling Query Parameters with @RequestParam
Video: @RequestParam
@PathVariable
Video: @PathVariable
@RequestBody
Video: @RequestBody Annotation
Handling Multipart Data with Spring Web
Video: Handling Multipart Data
Spring Project Structure Best Practices
Building a Recipe API with Spring Boot
Labs: Spring Web Recipe API
Quiz: Spring Web
Questions: Spring Web
Feedback: Spring Web

17 Topics
Spring MVC for Web Development
Video: Intro to Spring MVC
Model ModelMap and ModelAndView in Spring
Video: Iterations of MVC
Thymeleaf in Spring MVC
Video: Thymeleaf Template Engine
Thymeleaf Templates with JavaScript and CSS
Video: JavaScript and CSS with Thymeleaf
Part 1: Build a Customer Website with Spring MVC + Thymeleaf
Video: Spring MVC + Thymeleaf Web Application Part 1
Part 2: Build a Customer Website with Spring MVC + Thymeleaf
Video: Spring MVC + Thymeleaf Web Application Part 2
Video: Spring MVC + Thymeleaf Web Application Part 3
Labs: Spring MVC
Quiz: Spring MVC & Thymeleaf
Questions: Spring MVC & Thymeleaf
Feedback: Spring MVC

9 Topics
Part 1: New York Times API Access
Part 2: New York Times API Integration
Video: New York Times API Integration
Part 3: Display API Data with Spring MVC and Thymeleaf
Video: NYT News App with Spring MVC
Labs: Consuming APIs
Quiz: Consuming APIs
Questions: Consuming APIs with Spring
Feedback: Consuming APIs with Spring

18 Topics
Video: Unit Testing with JUnit
Spring Testing
Spring Profiles and the @Profile Annotation
Testing Controllers with MockMvc
Video: Using MockMvc
JSONPath for Testing JSON Responses
API Testing with MockMvc and JSONPath
Video: Testing APIs with MockMvc and JSONPath
Testing JSON with ObjectMapper and ObjectReader
Video: Testing JSON Responses without JSONPath
Testing with TestRestTemplate
Video: Testing with TestRestTemplate
Mocking Spring Components for Unit Testing
Video: Mocking with @MockBean
Labs: Spring Test
Quiz: Testing with Spring
Questions: Testing with Spring
Feedback: Spring Test

25 Topics
Authentication vs. Authorization
Introduction to Spring Security
Spring Security Filters and the Filter Chain
Authentication Architecture
Username & Password Authentication
Video: Username & Password Authentication
Spring Security OAuth2 Login
Video: Spring Security OAuth2 Login
Configuring More Spring Filters
Video: Additional Filters
Hashed Passwords with Spring Security
Video: Password Hashing
Authorization with Spring Security
Authorization Practice Example
Video: Spring Security Authorization
Spring Method Security
Custom PermissionEvaluator
Video: Custom PermissionEvaluator
Part 1: Securing the Recipe API
Part 2: Securing the Recipe API
Video: Securing the Recipe API
Labs: Spring Security
Quiz: Spring Security
Questions: Spring Security
Feedback: Spring Security

11 Topics
Aspect Oriented Programming in Spring
Implementing Spring AOP
Video: Aspect Oriented Programming
AOP with Custom Annotations
Video: AOP with Custom Annotations
Video: Timing Methods with AOP
Spring Proxies and AOP
Labs: Aspect Oriented Programming
Quiz: Spring AOP
Questions: Spring AOP
Feedback: Spring AOP

8 Topics
Batch Processing & Spring Batch
Part 1: Spring Batch Demo Project
Part 2: Managing Spring Batch Processes
Video: Batch Processing with Spring
Labs: Spring Batch
Quiz: Spring Batch Processing
Questions: Spring Batch Processing
Feedback: Spring Batch

8 Topics
Caching & Spring Boot Cache
Part 1: Caching in Spring Boot with Redis
Part 2: Spring Boot Cache Annotations
Video: Caching with Spring Boot
Labs: Spring Cache
Quiz: Caching
Questions: Spring Cache
Feedback: Spring Cache

10 Topics
Microservices Architecture vs. Monolithic Architecture
Part 1: Spring Boot Microservices - Create the Server
Part 2: Create the Client Microservices
Part 3: Microservice Interaction
Part 4: Build a Front-End Application
Video: Spring Boot Microservices
Labs: Spring Microservices
Quiz: Microservices & Monoliths
Questions: Microservices & Monoliths
Feedback: Spring Microservices

13 Topics
Reactive Programming
Spring WebFlux for Reactive Programming
Part 1: Build a Reactive API
Video: Reactive API Part 1
Part 2: Build Spring Reactive Functional Endpoints
Video: Reactive API Part 2
Part 1: Build a Reactive API Client with WebClient
Part 2: Reactive Service Class with Spring WebClient
Video: Reactive Photo Search Client
Labs: Reactive Programming
Quiz: Reactive Programming
Questions: Reactive Programming
Feedback: Spring Reactive Programming

55 Topics
Software Deployment Basics
Introduction to AWS
Launching Your First Amazon EC2 Instance
Video: Amazon EC2
SSH and Key Pairs
Video: SSH (Secure Shell)
Managing Ubuntu Software Packages
Video: Package Management
Install MySQL on Ubuntu
Video: Installing MySQL on Ubuntu
AWS Security Groups & Firewalls
Video: AWS Security Groups
Part 1: Embedded Tomcat Deployment with Fat Jar
Part 2: Embedded Tomcat Deployment - Jar File Transfer
Part 3: Embedded Tomcat Deployment - Apps as a Service
Video: Jar Deployment
Server-Side Build Deployments with Maven & Gradle
Video: Maven Deployment
External Tomcat Server - War File Deployment
Video: War File Deployment
Continuous Delivery on AWS
Amazon S3 Buckets for Storage
AWS CodeBuild for Continuous Integration
Video: Amazon S3 & AWS CodeBuild
Part 1: AWS CodeDeploy
Part 2: AWS CodeDeploy
Video: AWS CodeDeploy
AWS CodePipeline for Continuous Delivery
AWS Parameter Store
Video: CodePipeline & Parameter Store
Part 1: Heroku with PostgreSQL
Part 2: WAR File Deployment with Heroku CLI
Part 3: JAR Heroku Deployment with Git
Video: Deploying to Heroku
AWS Elastic Beanstalk
Video: Elastic Beanstalk
Working with Amazon RDS
Video: Amazon RDS
Amazon Route 53 for Custom Domains on EC2
Video: Elastic IPs + Route 53
Reverse Proxies in Web Deployments
Setting Up a Reverse Proxy with Apache
Video: Apache Reverse Proxy
Nginx Reverse Proxy
Video: Nginx Reverse Proxy
Load Balancing with AWS
Part 1: Load Balancer Preparation
Part 2: Setting Up an Elastic Load Balancer on AWS
Video: AWS Elastic Load Balancing
Amazon EC2 Auto Scaling
Video: EC2 Auto Scaling
Labs: Deployment & AWS Cleanup
Quiz: Deployment
Questions: Deployment
Feedback: Spring Boot Deployment Section

7 Topics
Capstone Project Overview & Ideas
Plan Document Execute
Capstone Checklist
Share Your Project!
Next Steps
Feedback: Advanced Java & Spring Framework Course
Request Completion Certificate

  Write a Review

Advanced Java + Spring Framework

Go to Paid Course