The No Nonsense Guide To Java Spring Boot
The No Nonsense Guide To Java Spring Boot
Published 9/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.13 GB | Duration: 3h 4m
Go from Java Developer to Backend Engineer using Java 17 + mySQL
What you'll learn
Java Spring Boot
Controller, Service, Repository layers
Exception Handling & Reponses
Validation
Query String Parameters, @Query, Search
JDBC, JPA, Hibernate, Spring Data, ORMs
Unit Testing
Headers
Relational Mappings
Logging
Cache
External API Integration
Spring Security (Basic Auth)
Spring Security (JWTs - JSON Web Tokens)
Dependecy Injection
Spring Boot Actuator
Transactions & @Transactional
Dependency Injection, Inversion of Control, Spring Container
Requirements
Proficient in Java 8
Description
This comprehensive course is designed to transition Java developers into proficient backend engineers by mastering the essentials of Spring Boot. Unlike other courses that dive into complex concepts before covering the basics, this course follows a hands-on, real-world approach. We focus on building practical applications using live production code techniques, modern Java abstractions, and clear naming conventions commonly used in industry projects.You'll start by understanding how Spring Boot works before diving into the why—giving you the tools to build solid foundations before exploring advanced topics. Whether you're new to Spring Boot or looking to solidify your backend skills, this course offers a straightforward, no-nonsense guide that covers all the essential components needed for building scalable, production-ready applications.What You Will Learn:Controllers, Services, Repositories, and Entities: Understand the core building blocks of Spring Boot applications, including how to set up RESTful APIs, business logic layers, and data access layers.Database Integration with MySQL: Learn how to run MySQL queries, set up database connections, and work seamlessly with relational databases.Exception Handling & Custom Error Responses: Master best practices for handling errors, defining custom error responses, and returning meaningful error messages in production.Input Validation: Implement input validation to ensure data integrity, and protect against invalid requestsSpring Data JPA & Custom Queries: Explore query string parameters, custom query methods with @Query, and interact with databases using Spring Data JPA.JDBC, JPA, and Hibernate: Learn the differences between JDBC and JPA, understand ORM (Object Relational Mapping) with Hibernate, and when to use each in your applications.Unit Testing: Write unit tests to ensure your code works as expected, covering both service and repository layers using tools like JUnit and Mockito.Working with HTTP Headers: Learn how to work with request and response headers, implement custom headers, and pass data effectively through API endpoints.Relational Mappings (OneToOne, OneToMany, ManyToMany): Understand how to model real-world relationships between entities in a relational database using JPA annotations.Logging: Implement effective logging strategies to track application behavior, debug issues, and monitor performance.Caching for Performance Optimization: Leverage caching strategies to improve application performance and scalability, including setting up default caching and custom cache eviction policies.External API Integration: Learn how to consume external APIs, handle authentication, and integrate third-party services into your Spring Boot application.Spring Security: Explore the built-in security mechanisms, set up Basic Authentication, and secure your applications with JWT (JSON Web Token) for token-based authentication.Dependency Injection & Inversion of Control (IoC): Gain a solid understanding of how Spring Boot manages dependencies and objects, ensuring modular and maintainable code.Monitoring with Spring Boot Actuator: Enable real-time monitoring of your application, track performance metrics, and expose health and status endpoints using Spring Boot's Actuator.Transactions & @Transactional: Manage database transactions, understand transactional boundaries, and ensure data consistency using Spring's @Transactional annotation.Advanced Java Concepts in Spring Boot: Delve into practical Java topics frequently used in Spring Boot applications, such as UUIDs for unique identifiers, event-driven programming, handling various return types, managing JSON data in MySQL, and implementing versioning for your APIs.
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Setup Environment
Lecture 3 HTTP Request Basics
Lecture 4 Controller Class
Lecture 5 Service Class
Lecture 6 Dependency Injection Basics
Lecture 7 Service Class Abstraction
Section 2: Database
Lecture 8 Intro
Lecture 9 Entity Class
Lecture 10 Repository Class
Lecture 11 Create Table in mySQL
Lecture 12 CRUD Explained with Http Requests
Lecture 13 DTOs
Lecture 14 Update Service Classes with Repository Calls
Section 3: Exception Handling
Lecture 15 Intro
Lecture 16 Spring Boot's Default Error Response
Lecture 17 Custom Exception
Lecture 18 Custom Response
Section 4: Validation
Lecture 19 Intro
Lecture 20 Custom Validation (if statements)
Lecture 21 Spring Starter Validation (annotations)
Lecture 22 Wrap Up
Section 5: Search
Lecture 23 Intro / Query String Parameter explained
Lecture 24 Spring Data JPA
Lecture 25 Custom Query Method / JPQL
Lecture 26 Note on Custom Native Query
Section 6: JDBC, JPA, Hibernate, Spring Data
Lecture 27 Discus the layers of Abstraction
Section 7: Unit Testing
Lecture 28 Intro
Lecture 29 Sanity Check
Lecture 30 Unit Test 1
Lecture 31 Unit Test 2
Lecture 32 Run all tests
Lecture 33 Notes
Section 8: Http Headers
Lecture 34 Intro
Lecture 35 Add a Header
Lecture 36 Return JSON or XML based on header
Section 9: Relational Mappings
Lecture 37 Intro
Lecture 38 OneToOne
Lecture 39 OneToOne Notes
Lecture 40 OneToMany
Lecture 41 ManyToMany
Lecture 42 Notes
Section 10: Logging
Lecture 43 Intro
Lecture 44 Logging
Lecture 45 Log File
Section 11: Cache
Lecture 46 Intro
Lecture 47 Get Baseline
Lecture 48 Enable Caching & @Cacheable
Lecture 49 Cache Evict
Lecture 50 Cache Put
Lecture 51 Custom Cache Configuration
Lecture 52 Scheduling Cache Evict
Lecture 53 Notes
Section 12: External API Integration
Lecture 54 Intro
Lecture 55 Coding
Lecture 56 Better Abstraction
Lecture 57 Error Handling
Section 13: Spring Security
Lecture 58 Intro
Lecture 59 Default Spring Security
Lecture 60 Basic Authorization Intro
Lecture 61 Security Filter Chain & Authenticated endpoints
Lecture 62 Cross Site Request Forgery
Lecture 63 Authorities with the Security Filter Chain
Lecture 64 Method Level Security
Lecture 65 User Detail Service in Database
Lecture 66 JWTs (JSON Web Tokens) Intro
Lecture 67 JWT Util
Lecture 68 Login endpoint
Lecture 69 Validate JWT
Lecture 70 Notes
Section 14: Dependency Injection
Lecture 71 Dependency Injection Explained
Section 15: The Actuator
Lecture 72 The Actuator
Section 16: Transactions
Lecture 73 Intro
Lecture 74 Coding
Lecture 75 Notes
Section 17: Miscellaneous Topics
Lecture 76 Intro
Lecture 77 Auto-generating tables & columns
Lecture 78 UUID / GUID
Lecture 79 Events
Lecture 80 Saving JSON to mySQL
Lecture 81 Versioning
Section 18: Final Exam
Lecture 82 Intro
Go from Java Developer to Backend Engineer using Spring Boot
What you'll learn
Java Spring Boot
Controller, Service, Repository layers
Exception Handling & Reponses
Validation
Query String Parameters, @Query, Search
JDBC, JPA, Hibernate, Spring Data, ORMs
Unit Testing
Headers
Relational Mappings
Logging
Cache
External API Integration
Spring Security (Basic Auth)
Spring Security (JWTs - JSON Web Tokens)
Dependecy Injection
Spring Boot Actuator
Transactions & @Transactional
Dependency Injection, Inversion of Control, Spring Container
Requirements
Proficient in Java 8
Description
This comprehensive course is designed to transition Java developers into proficient backend engineers by mastering the essentials of Spring Boot. Unlike other courses that dive into complex concepts before covering the basics, this course follows a hands-on, real-world approach. We focus on building practical applications using live production code techniques, modern Java abstractions, and clear naming conventions commonly used in industry projects.You'll start by understanding how Spring Boot works before diving into the why—giving you the tools to build solid foundations before exploring advanced topics. Whether you're new to Spring Boot or looking to solidify your backend skills, this course offers a straightforward, no-nonsense guide that covers all the essential components needed for building scalable, production-ready applications.What You Will Learn:Controllers, Services, Repositories, and Entities: Understand the core building blocks of Spring Boot applications, including how to set up RESTful APIs, business logic layers, and data access layers.Database Integration with MySQL: Learn how to run MySQL queries, set up database connections, and work seamlessly with relational databases.Exception Handling & Custom Error Responses: Master best practices for handling errors, defining custom error responses, and returning meaningful error messages in production.Input Validation: Implement input validation to ensure data integrity, and protect against invalid requestsSpring Data JPA & Custom Queries: Explore query string parameters, custom query methods with @Query, and interact with databases using Spring Data JPA.JDBC, JPA, and Hibernate: Learn the differences between JDBC and JPA, understand ORM (Object Relational Mapping) with Hibernate, and when to use each in your applications.Unit Testing: Write unit tests to ensure your code works as expected, covering both service and repository layers using tools like JUnit and Mockito.Working with HTTP Headers: Learn how to work with request and response headers, implement custom headers, and pass data effectively through API endpoints.Relational Mappings (OneToOne, OneToMany, ManyToMany): Understand how to model real-world relationships between entities in a relational database using JPA annotations.Logging: Implement effective logging strategies to track application behavior, debug issues, and monitor performance.Caching for Performance Optimization: Leverage caching strategies to improve application performance and scalability, including setting up default caching and custom cache eviction policies.External API Integration: Learn how to consume external APIs, handle authentication, and integrate third-party services into your Spring Boot application.Spring Security: Explore the built-in security mechanisms, set up Basic Authentication, and secure your applications with JWT (JSON Web Token) for token-based authentication.Dependency Injection & Inversion of Control (IoC): Gain a solid understanding of how Spring Boot manages dependencies and objects, ensuring modular and maintainable code.Monitoring with Spring Boot Actuator: Enable real-time monitoring of your application, track performance metrics, and expose health and status endpoints using Spring Boot's Actuator.Transactions & @Transactional: Manage database transactions, understand transactional boundaries, and ensure data consistency using Spring's @Transactional annotation.Advanced Java Concepts in Spring Boot: Delve into practical Java topics frequently used in Spring Boot applications, such as UUIDs for unique identifiers, event-driven programming, handling various return types, managing JSON data in MySQL, and implementing versioning for your APIs.
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Setup Environment
Lecture 3 HTTP Request Basics
Lecture 4 Controller Class
Lecture 5 Service Class
Lecture 6 Dependency Injection Basics
Lecture 7 Service Class Abstraction
Section 2: Database
Lecture 8 Intro
Lecture 9 Entity Class
Lecture 10 Repository Class
Lecture 11 Create Table in mySQL
Lecture 12 CRUD Explained with Http Requests
Lecture 13 DTOs
Lecture 14 Update Service Classes with Repository Calls
Section 3: Exception Handling
Lecture 15 Intro
Lecture 16 Spring Boot's Default Error Response
Lecture 17 Custom Exception
Lecture 18 Custom Response
Section 4: Validation
Lecture 19 Intro
Lecture 20 Custom Validation (if statements)
Lecture 21 Spring Starter Validation (annotations)
Lecture 22 Wrap Up
Section 5: Search
Lecture 23 Intro / Query String Parameter explained
Lecture 24 Spring Data JPA
Lecture 25 Custom Query Method / JPQL
Lecture 26 Note on Custom Native Query
Section 6: JDBC, JPA, Hibernate, Spring Data
Lecture 27 Discus the layers of Abstraction
Section 7: Unit Testing
Lecture 28 Intro
Lecture 29 Sanity Check
Lecture 30 Unit Test 1
Lecture 31 Unit Test 2
Lecture 32 Run all tests
Lecture 33 Notes
Section 8: Http Headers
Lecture 34 Intro
Lecture 35 Add a Header
Lecture 36 Return JSON or XML based on header
Section 9: Relational Mappings
Lecture 37 Intro
Lecture 38 OneToOne
Lecture 39 OneToOne Notes
Lecture 40 OneToMany
Lecture 41 ManyToMany
Lecture 42 Notes
Section 10: Logging
Lecture 43 Intro
Lecture 44 Logging
Lecture 45 Log File
Section 11: Cache
Lecture 46 Intro
Lecture 47 Get Baseline
Lecture 48 Enable Caching & @Cacheable
Lecture 49 Cache Evict
Lecture 50 Cache Put
Lecture 51 Custom Cache Configuration
Lecture 52 Scheduling Cache Evict
Lecture 53 Notes
Section 12: External API Integration
Lecture 54 Intro
Lecture 55 Coding
Lecture 56 Better Abstraction
Lecture 57 Error Handling
Section 13: Spring Security
Lecture 58 Intro
Lecture 59 Default Spring Security
Lecture 60 Basic Authorization Intro
Lecture 61 Security Filter Chain & Authenticated endpoints
Lecture 62 Cross Site Request Forgery
Lecture 63 Authorities with the Security Filter Chain
Lecture 64 Method Level Security
Lecture 65 User Detail Service in Database
Lecture 66 JWTs (JSON Web Tokens) Intro
Lecture 67 JWT Util
Lecture 68 Login endpoint
Lecture 69 Validate JWT
Lecture 70 Notes
Section 14: Dependency Injection
Lecture 71 Dependency Injection Explained
Section 15: The Actuator
Lecture 72 The Actuator
Section 16: Transactions
Lecture 73 Intro
Lecture 74 Coding
Lecture 75 Notes
Section 17: Miscellaneous Topics
Lecture 76 Intro
Lecture 77 Auto-generating tables & columns
Lecture 78 UUID / GUID
Lecture 79 Events
Lecture 80 Saving JSON to mySQL
Lecture 81 Versioning
Section 18: Final Exam
Lecture 82 Intro
Go from Java Developer to Backend Engineer using Spring Boot