Spring Framework 6: Beginner To Guru
Last updated 2/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 15.34 GB | Duration: 32h 45m
Last updated 2/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 15.34 GB | Duration: 32h 45m
Learn All Things Spring! Spring Framework 6, Spring Boot 3, Spring MVC, Spring Data JPA, Spring Security, Spring WebFlux
What you'll learn
Learn to Build a Spring Boot Web Application
Perform Dependency Injection with Spring Framework 6
Learn Best Practices for Building RESTful APIs
Use Project Lombok to Speed Up Your Development
Create RESTful Web Services using SpringMVC
Test Spring MVC using Spring MockMVC with Mockito
Use Spring Data JPA with Spring MVC
Validate Data using Bean Validation
How to Access a MySQL Database with Spring Boot
Use Flyway for Database Migrations
Create RESTful APIs Using Spring Data REST
How to use Spring RestTemplate
Configure HTTP Basic Auth with Spring Security
How to Use and Configure Spring Authorization Server
Create a Spring OAuth2 Resource Server
Learn Functional Reactive Programming
Learn Spring Data Mongo with Webflux-fn
How to Configure Spring Cloud Gateway
Requirements
Basic Java knowledge is required
HTTP and HTML Knowledge is very helpful
Knowledge of SQL and databases is helpful
Description
This course is All Things Spring!Do you wish to master Spring Framework 6 and Spring Boot 3? Then this is the course for you. This course is for developers with no previous Spring Framework or Spring Boot experience. This course has been developed by a back end developer, for back end developers!Inside this course, you will learn about:Build a Spring Boot Web AppUse Spring for Dependency InjectionCreate RESTful Web Services with Spring MVCCreate RESTful Web Services with Spring WebfluxCreate RESTful Web Services with Spring Webflux.fnLearn Best Practices using Project Lombok with SpringCreate MapStruct Mappers as Spring ComponentsSpring MockMVC with Mockito and JUnit 5Spring Data JPASpring Data MongoDBSpring Data R2DBC (Reactive)Spring RestTemplateSpring WebClientSpring WebTestClientSpring Security HTTP Basic Authentication Spring Security OAuth2 Authentication w/ JWTSpring Authorization ServerSpring WebMVC OAuth2 Resource Server Spring WebFlux OAuth2 Resource ServerSpring Cloud GatewaySpring Boot Maven PluginSpring Boot Gradle PluginUse Java Bean Validation with SpringSpring Boot Auto-Configuration with MySQLUse Spring Boot and Flyway for Database Migrations Hibernate Database Relationship Mapping with Spring Data JPACourse Extra - IntelliJ IDEA UltimateStudents enrolling in the course can receive a free 4 month trial license to IntelliJ IDEA Ultimate! Get hands on experience using the Java IDE preferred by Spring Framework professionals! Course Extra - Access to a Private Slack CommunityYou're not just enrolling in a course –> You are joining a community learning Spring.With your enrollment to the course, you can access an exclusive Slack community. Get help from the instructor and other Spring Framework Gurus from around the world - in real time! This community is only available to students enrolled in this course. This is a very active Slack community with over 18,700 Spring Framework Gurus!This is the largest online community of people learning Spring in the world.With your enrollment, you can join this community of awesome gurus!Closed Captioning / SubtitlesClosed captioning in English is available for all course videos!PDF DownloadsAll keynote presentations are available for you to download as PDFs.Lifetime AccessWhen you purchase this course, you will receive lifetime access! You can login anytime from anywhere to access the course content.No Risk - Money Back Guarantee You can buy this course with no risk. If you are unhappy with the course, for any reason, you can get a complete refund. The course has a 30 day Money Back Guarantee.
Overview
Section 1: Introduction
Lecture 1 Course Introduction
Lecture 2 Instructor Introduction
Lecture 3 Getting the Most out of this Course
Lecture 4 Setting Up Your Development Environment
Lecture 5 Is Your IDE Free Like a Puppy?
Lecture 6 Free 120 Day IntelliJ IDEA Trial!
Lecture 7 Getting Help with the Spring Framework
Lecture 8 Course Slack Room - Chat Live with Me and Other Gurus!
Lecture 9 Using GitHub
Section 2: Building a Spring Boot Web App
Lecture 10 Introduction
Lecture 11 Introduction to Spring
Lecture 12 Application Overview
Lecture 13 Spring Initilizer
Lecture 14 Open Project in IntelliJ
Lecture 15 Using JPA Entities
Lecture 16 JPA Relationships
Lecture 17 Code Examples in GitHub
Lecture 18 Equality in Hibernate
Lecture 19 Spring Data Repositories
Lecture 20 Initializing Data with Spring
Lecture 21 Publisher Relationships
Lecture 22 Introduction to H2 Database Console
Lecture 23 Introduction to Spring MVC
Lecture 24 Create Service Layer
Lecture 25 Configuring Spring Controllers
Lecture 26 Thymeleaf Templates
Lecture 27 Project Review
Section 3: Dependency Injection with Spring
Lecture 28 Introduction
Lecture 29 SOLID Principles of OOP
Lecture 30 The Spring Context
Lecture 31 Spring Test Context
Lecture 32 Basics of Dependency Injection
Lecture 33 Dependencies Without Injection
Lecture 34 Dependency Injection without Spring
Lecture 35 Dependency Injection using Spring Framework
Lecture 36 Primary Beans
Lecture 37 Using Qualifiers
Lecture 38 Spring Profiles
Lecture 39 Default Profile
Lecture 40 Spring Bean Life Cycle
Lecture 41 Spring Bean Life Cycle Demo
Section 4: Introduction to Restful Web Services
Lecture 42 Introduction
Lecture 43 HTTP Protocol
Lecture 44 HTTP Request Methods
Lecture 45 Postman Demonstration
Lecture 46 Beginners Guide to REST
Lecture 47 Richardson Maturity Model
Lecture 48 Spring Framework and RESTFul Services
Section 5: Project Lombok
Lecture 49 Introduction
Lecture 50 Create New Project
Lecture 51 Project Lombok Features
Lecture 52 Project Lombok POJOs
Lecture 53 Project Lombok Builders
Lecture 54 Project Lombok Constructors
Lecture 55 Project Lombok Logging
Lecture 56 De-Lombock
Section 6: Spring MVC Rest Services
Lecture 57 Introduction
Lecture 58 Introducing SFG Beer Works
Lecture 59 HTTP GET with Spring MVC List Operation
Lecture 60 HTTP Client
Lecture 61 Using Path Parameters - Get By Id
Lecture 62 Spring Boot Development Tools
Lecture 63 HTTP POST with Spring MVC
Lecture 64 Set Header on HTTP Response
Lecture 65 HTTP PUT with Spring MVC
Lecture 66 HTTP DELETE with Spring MVC
Lecture 67 HTTP PATCH with Spring MVC
Section 7: Spring MockMVC Test with Mockito
Lecture 68 Introduction
Lecture 69 Introduction to Testing with MockMVC
Lecture 70 MockMVC Configuration
Lecture 71 Return Data With Mockito
Lecture 72 Using JSON Matchers
Lecture 73 MockMVC Test List Beers
Lecture 74 Create JSON Using Jackson
Lecture 75 MockMVC Test Create Beer
Lecture 76 MockMVC Test Update Beer
Lecture 77 MockMVC Test Delete Beer
Lecture 78 MockMVC Test Patch Beer
Lecture 79 DRY - Don't Repeat Yourself
Lecture 80 DRY - Refactoring
Lecture 81 URI Builder
Section 8: Exception Handling with Spring MVC
Lecture 82 Introduction
Lecture 83 Exception Handling Overview
Lecture 84 Throw Custom Exception with Mockito
Lecture 85 Using Exception Handler
Lecture 86 Controller Advice
Lecture 87 Using ResponseStatus Annotation
Lecture 88 Using Java Optional
Section 9: Spring Data JPA with Spring MVC
Lecture 89 Introduction
Lecture 90 Data Transfer Objects
Lecture 91 Refactoring to DTOs
Lecture 92 Spring Data JPA Dependencies
Lecture 93 Creating JPA Entities
Lecture 94 Hibernate UUID Id Generation
Lecture 95 Spring Data JPA Repositories
Lecture 96 Spring Boot JPA Test Splice
Lecture 97 MapStruct Dependencies and Configuration
Lecture 98 MapStruct Mappers
Lecture 99 JPA Services
Lecture 100 JPA Get Operations
Lecture 101 Controller Integration Test
Lecture 102 Testing for expected Exceptions
Lecture 103 JPA Save New Beer Operation
Lecture 104 JPA Update Beer by Id Operation
Lecture 105 JPA Update Beer Not Found
Lecture 106 JPA Delete Beer by Id
Lecture 107 JPA Delete by Id Not Found
Section 10: Data Validation
Lecture 108 Introduction
Lecture 109 Data Validation Overview
Lecture 110 Java Bean Validation Maven Dependencies
Lecture 111 Controller Binding Validation
Lecture 112 Custom Validation Handler
Lecture 113 Custom Error Body
Lecture 114 JPA Validation
Lecture 115 Database Constraint Validation
Lecture 116 Controller Testing with JPA
Lecture 117 JPA Validation Error Handler
Lecture 118 JPA Validation Error Message
Section 11: MySQL with Spring Boot
Lecture 119 Introduction
Lecture 120 Overview of MySQL
Lecture 121 Installing MySQL
Lecture 122 Create MySQL Schema and User Accounts
Lecture 123 Adding MySQL Dependencies
Lecture 124 Spring Boot MySQL Profile
Lecture 125 Console Logging of SQL Statements
Lecture 126 JPA Updates for MySQL
Lecture 127 Hikari Datasource Pool
Lecture 128 Schema Script Generation
Lecture 129 Spring Boot Database Initialization
Section 12: Flyway Migrations
Lecture 130 Introduction
Lecture 131 Overview of Flyway
Lecture 132 Flyway Dependencies
Lecture 133 Flyway Migration Script Configuration
Lecture 134 Add Database Column
Lecture 135 Flyway Advanced Spring Boot Configuration
Lecture 136 Fixing Integration Tests using H2
Section 13: CSV File Uploads
Lecture 137 Introduction
Lecture 138 Beer CSV Data
Lecture 139 Beer CSV POJO
Lecture 140 Mapping with OpenCSV
Lecture 141 CSV Parse Service
Lecture 142 Save CSV Data to Database
Lecture 143 Hibernate Create and Update Timestamp
Lecture 144 Fix Integration Tests
Section 14: Query Parameters with Spring MVC
Lecture 145 Introduction
Lecture 146 Overview of Query Parameters
Lecture 147 List Beers Spring MVC Test
Lecture 148 Capture Query Parameters with Spring MVC
Lecture 149 Update Service to Accept Query Parameter
Lecture 150 Refactor Service with Conditional Logic
Lecture 151 Find By Name with Spring Data JPA
Lecture 152 Complete Implementation
Lecture 153 Complete Search Functionality
Section 15: Paging and Sorting
Lecture 154 Introduction
Lecture 155 What is Paging and Sorting?
Lecture 156 Paging and Sorting with Spring
Lecture 157 Add Paging Parameters
Lecture 158 Create Page Request Object
Lecture 159 Refactor Spring Data JPA Repositories
Lecture 160 Add Sort Parameter
Section 16: Database Relationship Mappings
Lecture 161 Introduction
Lecture 162 Overview of Database Relationships
Lecture 163 Review of Database Changes
Lecture 164 One to Many Bidirectional
Lecture 165 Create Beer Order Repository
Lecture 166 Persisting Beer Order Relationships
Lecture 167 Association Helper Methods
Lecture 168 Many to Many
Lecture 169 Many to Many Persistence
Lecture 170 One to One Bi-Directional
Lecture 171 Cascade on Persist
Lecture 172 Hibernate Cascade Types
Section 17: Database Transactions & Locking
Lecture 173 Introduction
Lecture 174 Overview of Database Transactions
Lecture 175 Database Locking Demo
Lecture 176 Spring Data JPA Transactions
Lecture 177 Optimistic Locking Demo
Section 18: Introduction to Spring Data REST
Lecture 178 Introduction
Lecture 179 Project Code Review
Lecture 180 Add Spring Data REST Dependency
Lecture 181 List All With Spring Data REST
Lecture 182 Set Base Path
Lecture 183 Customize URL Path
Lecture 184 Version Property - ETag Header
Lecture 185 API Profile
Lecture 186 Create with Spring Data REST
Lecture 187 Update Data with Spring Data REST
Lecture 188 Delete Data with Spring Data REST
Lecture 189 Use Repository Methods
Section 19: Spring RestTemplate
Lecture 190 Introduction
Lecture 191 Project Code Review
Lecture 192 Create Client Service
Lecture 193 Get List as JSON String
Lecture 194 Get List as Java Map
Lecture 195 Get List as Jackson Object
Lecture 196 Spring Pageable with Jackson
Lecture 197 RestTemplateBuilder Configuration
Lecture 198 Externalize Root URL
Lecture 199 Uri Components Builder
Lecture 200 Query Parameters
Lecture 201 URL Parameters
Lecture 202 HTTP Post with RestTemplate
Lecture 203 Get Response Header
Lecture 204 HTTP Put with RestTemplate
Lecture 205 HTTP Delete with RestTemplate
Section 20: Testing Spring RestTemplate
Lecture 206 Introduction
Lecture 207 Create Mock Test Class
Lecture 208 Using Mockito
Lecture 209 Mock Test Create Beer
Lecture 210 Refactor Setup Method
Lecture 211 Mock Test Update Beer
Lecture 212 Mock Test Delete Beer
Lecture 213 Mock Test Not Found
Lecture 214 Mock Test Query Param
Section 21: Spring Security Basic Auth
Lecture 215 Introduction
Lecture 216 Adding Spring Security Dependencies
Lecture 217 Calling Rest API with Postman and HTTP Basic
Lecture 218 Customizing User Name and Password
Lecture 219 Testing Spring Security with JUnit 5
Lecture 220 Spring Security Config - Disable CSRF
Lecture 221 Spring Security with Web Application Context
Lecture 222 HTTP Basic with RestTemplate
Lecture 223 Refactor of RestTemplate Builder Config
Lecture 224 HTTP Basic with RestTemplate Mock Context
Section 22: Spring Authorization Server
Lecture 225 Introduction
Lecture 226 Overview of OAuth 2 and JWT
Lecture 227 Introduction to Spring Authorization Server
Lecture 228 Create New Project
Lecture 229 Add Authorization Server Filter Chain
Lecture 230 Add Default Security Filter Chain
Lecture 231 Create User Details Service
Lecture 232 Add Registered Client Repository
Lecture 233 Create JWK Source
Lecture 234 Create JwtDecoder
Lecture 235 Set Authorization Server Settings
Lecture 236 Get Authorization Token Using Postman
Section 23: Spring MVC OAuth2 Resource Server
Lecture 237 Introduction
Lecture 238 Maven Dependencies
Lecture 239 Spring Security Configuration
Lecture 240 Testing with Postman
Lecture 241 Spring MockMVC Testing with JWT
Lecture 242 Refactor JWT Tests
Section 24: Spring RestTemplate with OAuth 2
Lecture 243 Introduction
Lecture 244 Maven Dependencies and Spring Configuration
Lecture 245 Spring Authorized Client Manager
Lecture 246 Http Request Interceptor
Lecture 247 Add Interceptor to RestTemplate Builder
Lecture 248 Mock OAuth2 Manager
Section 25: Introduction to Reactive Programing
Lecture 249 Introduction
Lecture 250 Reactive Manifesto
Lecture 251 What is Reactive Programming?
Lecture 252 Reactive Streams API
Lecture 253 Create Spring Boot Project
Lecture 254 Implement Repository
Lecture 255 Mono Operations
Lecture 256 Flux Operations
Lecture 257 Filter Flux Objects
Lecture 258 Error Handling
Lecture 259 Step Verifier
Section 26: Spring Data R2DBC
Lecture 260 Introduction
Lecture 261 Overview of Spring Data R2DBC
Lecture 262 Create Spring Boot Project
Lecture 263 Initializing Database
Lecture 264 Create Database Entity
Lecture 265 Create Spring Data R2DBC Repository
Lecture 266 Test Save New Entity
Lecture 267 Add Create and Update Date with Auditing
Lecture 268 Initializing Database
Section 27: Spring WebFlux Rest Services
Lecture 269 Introduction
Lecture 270 Create WebFlux Controller
Lecture 271 List Flux from Database
Lecture 272 Using Path Variables
Lecture 273 Create New Beer Entity
Lecture 274 Testing Create with Postman
Lecture 275 Update Beer Entity
Lecture 276 Test Update with Postman
Lecture 277 Delete Beer Entity
Lecture 278 Add Validation
Section 28: Spring WebFlux WebTestClient
Lecture 279 Introduction
Lecture 280 Test List Beers
Lecture 281 Test Get By ID
Lecture 282 Test Create Beer Entity
Lecture 283 Test Update Beer Entity
Lecture 284 Test Delete Beer Entity
Lecture 285 Test Method Order
Section 29: Exception Handling with Spring WebFlux
Lecture 286 Introduction
Lecture 287 Test Validation Failure On Create
Lecture 288 Test Validation Failure On Update
Lecture 289 Test Get By ID Not Found
Lecture 290 Test Update Not Found
Lecture 291 Test Delete Not Found
Section 30: Spring Data MongoDB
Lecture 292 Running MongoDB Locally
Lecture 293 Verify MongoDB installation
Lecture 294 Create New Spring Boot Project
Lecture 295 Add Entity, Model, and Mapstruct
Lecture 296 Add Mongo Database and Client Configuration
Lecture 297 Mongo Database Authentication
Lecture 298 Add Spring Data Repository
Lecture 299 Test Save New Document
Lecture 300 Using Awaitility
Lecture 301 Implement CRUD Operations
Lecture 302 Find By Name with Spring Data Mongo
Lecture 303 Find By Beer Style with Spring Data Mongo
Lecture 304 Initializing Database
Section 31: Spring WebFlux.fn Rest Services
Lecture 305 WebFlux.fn Overview
Lecture 306 WebFlux Handler
Lecture 307 WebFlux Router
Lecture 308 Get by Id Endpoint
Lecture 309 Create Endpoint
Lecture 310 Update Endpoint
Lecture 311 Patch Endpoint
Lecture 312 Delete Endpoint
Lecture 313 Return HTTP 404 on not found
Lecture 314 Add Validation
Lecture 315 Using Query Parameters with WebFlux.fn
Section 32: Spring WebClient
Lecture 316 Create New Spring Boot Project
Lecture 317 Get List as JSON String
Lecture 318 Get List as Java Map
Lecture 319 Get List as Jackson Object
Lecture 320 Get List as Java POJOs
Lecture 321 Webclient Global Configuration
Lecture 322 Uri Components Builder
Lecture 323 Query Parameters
Lecture 324 HTTP Post with WebClient
Lecture 325 HTTP Put with WebClient
Section 33: Spring WebFlux Resource Server
Lecture 326 Maven Dependencies
Lecture 327 Spring Security Configuration
Lecture 328 Testing API Using Postman
Lecture 329 Spring webTestClient Testing with JWT
Section 34: Spring WEbflux.fn Resource Server
Lecture 330 Maven Dependencies
Lecture 331 Spring Security Configuration
Lecture 332 Testing with Postman
Lecture 333 Spring webTestClient Testing with JWT
Section 35: Using OAuth 2.0 with Spring WebClient
Lecture 334 Maven Dependencies and Spring Configuration
Lecture 335 Spring Security Configuration
Lecture 336 WebClient Filter Configuration
Section 36: Spring Cloud Gateway
Lecture 337 Overview of Spring Cloud Gateway
Lecture 338 Create Spring Cloud Gateway Project
Lecture 339 Server Port Mapping
Lecture 340 v1 Route Mapping
Lecture 341 Troubleshooting Spring Cloud Gateway
Lecture 342 Gateway Resource Server Configuration
Section 37: Spring Boot Maven Plugin
Lecture 343 The Maven Build Lifecycle
Lecture 344 Maven from the Command Line
Lecture 345 Spring Boot Executable Jars
Lecture 346 Running Spring Boot Executable Jars
Lecture 347 Spring Boot Repackage to Executable Jar
Lecture 348 Running Spring Boot With Maven
Lecture 349 Resource Filtering
Lecture 350 Maven Build Info
Section 38: Spring Boot Gradle Plugin
Lecture 351 Introduction to the Spring Boot Gradle Plugin
Lecture 352 The Gradle Build LIfecycle
Lecture 353 Gradle from the Command Line
Lecture 354 Running Spring Boot with Gradle
Lecture 355 Spring Boot Build Info
Section 39: OpenAPI with Spring Boot
Lecture 356 Introduction to OpenAPI
Lecture 357 OpenAPI for Spring Boot Development
Lecture 358 Springdoc Maven Dependencies
Lecture 359 Springdoc Spring Security Configuration
Lecture 360 Save OpenAPI Specification in Maven Build
Section 40: OpenAPI Validation with RestAssured
Lecture 361 Atlassian Swagger Request Validator
Lecture 362 RestAssured Test
Lecture 363 Spring Security Configuration
Lecture 364 Configure Swagger Request Validator
Lecture 365 Whitelist Validation Rules
Section 41: Appendix A: Using GitHub
Lecture 366 Git and GitHub Basics - Start Here!
Section 42: Extra - Kube By Example - Building Spring Boot Docker Images
Lecture 367 KBE - Course Introduction
Lecture 368 KBE - Setting Up Your Development Environment
Lecture 369 KBE - Introduction
Lecture 370 KBE - Spring Boot Project Code Review
Lecture 371 KBE - Creating Docker File
Lecture 372 KBE - Building and Running Docker Image
Lecture 373 KEB - Introduction - Building Layered Image
Lecture 374 KBE - Overview and Maven Configuration
Lecture 375 KBE - Multi-Stage Docker File
Lecture 376 KBE - Introduction - Building Docker Images with Maven
Lecture 377 KBE - Introducing Docker Maven
Lecture 378 KBE - Using Properties in Builds
Lecture 379 KBE - Pushing to Docker Hub
Section 43: Extra - Kube By Example - Spring Boot On Kubernetes
Lecture 380 KBE - Course Introduction
Lecture 381 KBE - Setting Up Your Development Environment
Lecture 382 KBE - Enable Kubernetes in Docker Desktop
Lecture 383 KBE - Introduction to Deploying on Kubernetes
Lecture 384 KBE - Create Deployment
Lecture 385 KBE - Create Service
Lecture 386 KBE - Port Forwarding
Lecture 387 KBE - Terminating Services and Deployments
Lecture 388 KBE - Exposing Services
Lecture 389 KBE - Accessing Logs
Lecture 390 KBE - Setting Environment Variables
Lecture 391 KBE - Readiness Probe
Lecture 392 KBE - Liveness Probe
Lecture 393 KBE - Graceful Shutdown
Section 44: Extra - Kube By Example - Spring Boot Microservices on Kubernetes
Lecture 394 KBE - Course Introduction
Lecture 395 KBE - Setting Up Your Development Environment
Lecture 396 KBE - Enable Kubernetes in Docker Desktop
Lecture 397 KBE - Introduction to Spring Boot Microservices on Kubernetes
Lecture 398 KBE - Overview of Microservices Used in This Course
Lecture 399 KBE - Source Code Review
Lecture 400 KBE - Running Services via Docker Compose
Lecture 401 KBE - Introduction - Infrastructure Services
Lecture 402 KBE - MySQL Service
Lecture 403 KBE - JMS Service
Lecture 404 KBE - Introduction to Spring Boot Microservices
Lecture 405 KBE - Inventory Service
Lecture 406 KBE - Inventory Failover Service
Lecture 407 KBE - Beer Service
Lecture 408 KBE - Order Service
Lecture 409 KBE - Add Readiness and Liveness Probe Configuration
Lecture 410 KBE - Add Graceful Shutdown
Lecture 411 KBE - Kubernetes Ingress Controllers
Lecture 412 KBE - Spring Cloud Gateway Service
Lecture 413 KBE - Deleting Services and Deployments
Lecture 414 KBE - Introduction to Consolidated Logging
Lecture 415 KBE - Logging Configuration Code Review
Lecture 416 KBE - Elasticsearch
Lecture 417 KBE - Kibana
Lecture 418 KBE - Filebeat
This course is ideal for Java developers who wish to use the Spring Framework for enterprise application development