1 01:23 2 02:18 3 Getting the Most out of this Course 05:38 4 Setting Up Your Development Environment 03:45 5 Is Your IDE Free Like a Puppy? 02:46 6 Getting Help with the Spring Framework 07:32 7 12:21 8 01:17 9 07:51 10 04:48 11 05:38 12 08:44 13 04:33 14 04:15 15 03:58 16 03:33 17 03:57 18 Initializing Data with Spring 11:08 19 04:28 20 Introduction to H2 Database Console 06:02 21 Introduction to Spring MVC 05:43 22 03:42 23 Configuring Spring Controllers 03:56 24 08:19 25 02:58 26 01:08 27 06:37 28 04:12 29 04:12 30 Basics of Dependency Injection 08:14 31 Dependencies Without Injection 03:42 32 Dependency Injection without Spring 06:12 33 Dependency Injection using Spring Framework 08:30 34 03:03 35 08:03 36 06:11 37 03:25 38 05:26 39 Spring Bean Life Cycle Demo 08:42 40 02:30 41 07:18 42 05:34 43 05:09 44 06:04 45 Richardson Maturity Model 04:05 46 Spring Framework and RESTFul Services 07:11 47 01:39 48 04:09 49 07:20 50 04:14 51 03:51 52 Project Lombok Constructors 02:30 53 05:07 54 02:08 55 01:31 56 Introducing SFG Beer Works 01:24 57 HTTP GET with Spring MVC List Operation 04:41 58 02:57 59 Using Path Parameters - Get By Id 06:19 60 Spring Boot Development Tools 04:07 61 HTTP POST with Spring MVC 08:23 62 Set Header on HTTP Response 04:33 63 06:33 64 HTTP DELETE with Spring MVC 04:08 65 HTTP PATCH with Spring MVC 05:25 66 02:25 67 Introduction to Testing with MockMVC 09:21 68 06:49 69 05:15 70 05:50 71 03:13 72 Create JSON Using Jackson 04:59 73 05:46 74 04:03 75 03:56 76 04:53 77 DRY - Don't Repeat Yourself 02:48 78 03:57 79 03:01 80 01:31 81 Exception Handling Overview 06:34 82 Throw Custom Exception with Mockito 02:49 83 02:44 84 02:42 85 Using ResponseStatus Annotation 02:42 86 04:00 87 02:52 88 04:27 89 02:32 90 Spring Data JPA Dependencies 03:23 91 03:38 92 Hibernate UUID Id Generation 03:26 93 Spring Data JPA Repositories 02:42 94 Spring Boot JPA Test Splice 04:31 95 MapStruct Dependencies and Configuration 04:36 96 03:28 97 03:08 98 03:05 99 Controller Integration Test 06:11 100 Testing for expected Exceptions 03:36 101 JPA Save New Beer Operation 06:44 102 JPA Update Beer by Id Operation 04:27 103 JPA Update Beer Not Found 06:34 104 03:35 105 JPA Delete by Id Not Found 05:02 106 02:24 107 07:55 108 Java Bean Validation Maven Dependencies 01:49 109 Controller Binding Validation 03:11 110 Custom Validation Handler 04:11 111 03:52 112 03:30 113 Database Constraint Validation 04:08 114 Controller Testing with JPA 03:41 115 JPA Validation Error Handler 02:01 116 JPA Validation Error Message 05:01 117 02:30 118 07:49 119 Create MySQL Schema and User Accounts 05:49 120 Adding MySQL Dependencies 03:15 121 Spring Boot MySQL Profile 05:03 122 Console Logging of SQL Statements 04:40 123 05:25 124 05:24 125 04:33 126 Spring Boot Database Initialization 03:21 127 02:34 128 05:44 129 02:14 130 Flyway Migration Script Configuration 08:40 131 05:08 132 Flyway Advanced Spring Boot Configuration 03:04 133 Fixing Integration Tests using H2 03:16 134 01:55 135 02:58 136 03:13 137 06:02 138 05:32 139 Save CSV Data to Database 08:27 140 Hibernate Create and Update Timestamp 03:13 141 02:16 142 01:33 143 Overview of Query Parameters 03:23 144 List Beers Spring MVC Test 03:14 145 Capture Query Parameters with Spring MVC 04:57 146 Update Service to Accept Query Parameter 03:39 147 Refactor Service with Conditional Logic 03:20 148 Find By Name with Spring Data JPA 05:01 149 02:59 150 Complete Search Functionality 08:24 151 01:50 152 What is Paging and Sorting? 03:55 153 Paging and Sorting with Spring 03:14 154 04:46 155 Create Page Request Object 05:44 156 Refactor Spring Data JPA Repositories 06:53 157 03:13 158 02:32 159 Overview of Database Relationships 06:56 160 Review of Database Changes 03:43 161 One to Many Bidirectional 04:49 162 Create Beer Order Repository 07:17 163 Persisting Beer Order Relationships 06:43 164 Association Helper Methods 05:59 165 06:57 166 07:18 167 One to One Bi-Directional 03:57 168 04:43 169 02:33 170 02:48 171 Overview of Database Transactions 18:48 172 07:44 173 Spring Data JPA Transactions 07:32 174 05:02 175 02:01 176 04:58 177 Add Spring Data REST Dependency 02:39 178 List All With Spring Data REST 04:26 179 01:54 180 04:57 181 Version Property - ETag Header 02:47 182 03:46 183 Create with Spring Data REST 02:40 184 Update Data with Spring Data REST 02:14 185 Delete Data with Spring Data REST 01:52 186 02:47 187 02:15 188 03:31 189 03:46 190 05:09 191 04:55 192 Get List as Jackson Object 03:46 193 Spring Pageable with Jackson 07:10 194 RestTemplateBuilder Configuration 04:01 195 03:34 196 02:53 197 03:35 198 04:43 199 HTTP Post with RestTemplate 03:50 200 03:16 201 HTTP Put with RestTemplate 04:04 202 HTTP Delete with RestTemplate 02:37 203 01:28 204 05:33 205 04:48 206 04:50 207 02:44 208 05:15 209 02:11 210 02:40 211 04:20 212 01:54 213 Adding Spring Security Dependencies 04:10 214 Calling Rest API with Postman and HTTP Basic 03:18 215 Customizing User Name and Password 02:50 216 Testing Spring Security with JUnit 5 03:31 217 Spring Security Config - Disable CSRF 05:27 218 Spring Security with Web Application Context 04:37 219 HTTP Basic with RestTemplate 05:51 220 Refactor of RestTemplate Builder Config 02:07 221 HTTP Basic with RestTemplate Mock Context 01:56 222 01:48 223 Overview of OAuth 2 and JWT 08:10 224 Introduction to Spring Authorization Server 03:38 225 03:19 226 Add Authorization Server Filter Chain 06:25 227 Add Default Security Filter Chain 01:45 228 Create User Details Service 01:59 229 Add Registered Client Repository 03:40 230 03:34 231 01:13 232 Set Authorization Server Settings 01:41 233 Get Authorization Token Using Postman 07:22 234 01:49 235 02:08 236 Spring Security Configuration 04:46 237 03:02 238 Spring MockMVC Testing with JWT 03:35 239 05:04 240 01:49 241 Maven Dependencies and Spring Configuration 04:01 242 Spring Authorized Client Manager 03:57 243 04:41 244 Add Interceptor to RestTemplate Builder 05:38 245 09:35 246 02:03 247 04:31 248 What is Reactive Programming? 05:54 249 04:45 250 Create Spring Boot Project 03:17 251 04:47 252 06:59 253 05:49 254 03:36 255 06:05 256 02:47 257 01:56 258 Overview of Spring Data R2DBC 04:56 259 Create Spring Boot Project 02:29 260 05:11 261 02:43 262 Create Spring Data R2DBC Repository 02:47 263 02:37 264 Add Create and Update Date with Auditing 01:55 265 05:42 266 02:12 267 Create WebFlux Controller 06:15 268 05:10 269 05:49 270 05:20 271 Testing Create with Postman 03:49 272 06:26 273 01:39 274 03:26 275 04:28 276 01:34 277 03:34 278 02:01 279 03:30 280 02:00 281 02:02 282 04:18 283 02:05 284 Test Validation Failure On Create 02:02 285 Test Validation Failure On Update 01:36 286 02:41 287 02:06 288 03:12 289 Verify MongoDB installation 02:48 290 Create New Spring Boot Project 02:34 291 Add Entity, Model, and Mapstruct 05:01 292 Add Mongo Database and Client Configuration 01:49 293 Mongo Database Authentication 03:26 294 Add Spring Data Repository 03:02 295 05:33 296 03:26 297 Implement CRUD Operations 07:25 298 Find By Name with Spring Data Mongo 05:52 299 Find By Beer Style with Spring Data Mongo 06:12 300 02:59 301 02:35 302 03:52 303 08:33 304 03:34 305 06:29 306 03:24 307 02:41 308 02:09 309 Return HTTP 404 on not found 04:12 310 06:32 311 Using Query Parameters with WebFlux.fn 04:39 312 Create New Spring Boot Project 01:37 313 05:23 314 04:35 315 Get List as Jackson Object 02:51 316 03:13 317 Webclient Global Configuration 04:34 318 03:18 319 02:39 320 05:36 321 02:34 322 01:53 323 Spring Security Configuration 04:41 324 Testing API Using Postman 01:52 325 Spring webTestClient Testing with JWT 04:48 326 02:44 327 Spring Security Configuration 06:40 328 02:33 329 Spring webTestClient Testing with JWT 04:58 330 Maven Dependencies and Spring Configuration 02:02 331 Spring Security Configuration 03:45 332 WebClient Filter Configuration 05:34 333 Overview of Spring Cloud Gateway 03:24 334 Create Spring Cloud Gateway Project 03:03 335 04:27 336 05:22 337 Troubleshooting Spring Cloud Gateway 06:05 338 Gateway Resource Server Configuration 08:56 339 The Maven Build Lifecycle 05:38 340 Maven from the Command Line 05:13 341 Spring Boot Executable Jars 03:18 342 Running Spring Boot Executable Jars 03:13 343 Spring Boot Repackage to Executable Jar 02:54 344 Running Spring Boot With Maven 03:42 345 04:15 346 03:11 347 Introduction to the Spring Boot Gradle Plugin 06:32 348 The Gradle Build LIfecycle 04:17 349 Gradle from the Command Line 03:35 350 Running Spring Boot with Gradle 01:55 351 02:03 352 06:44 353 OpenAPI for Spring Boot Development 04:59 354 Springdoc Maven Dependencies 02:59 355 Springdoc Spring Security Configuration 07:07 356 Save OpenAPI Specification in Maven Build 06:34 357 Atlassian Swagger Request Validator 04:41 358 03:47 359 Spring Security Configuration 04:22 360 Configure Swagger Request Validator 04:12 361 Whitelist Validation Rules 03:48 362 Types of Artificial Intelligence 06:13 363 Introduction to Large Language Models (LLMs) 06:50 364 08:33 365 Setting Up Your Development Environment for Spring AI 04:11 366 Create New Spring Boot Project 03:14 367 Configure OpenAI API Keys 04:09 368 05:05 369 Exploring LLM Capabilities 16:20 370 Create Spring MVC Controller 03:33 371 Test Controller with Postman 03:17 372 05:20 373 Directing OpenAI to format the Response 06:07 374 Directing OpenAI to Respond with JSON 03:23 375 Binding OpenAI Responses With JSON Schema 06:45 376 OpenAI Response Meta Data 02:55 377 06:00 378 Implement Create Beer Entity 06:15 379 02:24 380 03:00 381 02:23 382 03:11 383 Test Operations Against Real Server 04:40 384 04:41 385 04:04 386 03:27 387 Alternate Security Configuration 01:27 388 Spring Boot Actuator Kubernetes Integration 03:07 389 03:04 390 03:22 391 04:10 392 Logstash Configuration for JSON Log Output 06:44 393 04:09 394 Logbook with Spring RestTemplate 03:51 395 Logbook with Spring WebClient 03:45 396 07:08 397 Add Cache Dependencies and Config 01:52 398 Configure Method Cache for Get By Id 05:25 399 Configure Cache for List Beers 04:34 400 04:52 401 Using Spring Cache Manager 03:49 402 Introduction to Spring Events 04:25 403 Create Application Event Pojos 02:45 404 Create Application Event Listener 02:41 405 04:12 406 02:42 407 Asynchronous Event Processing 04:17 408 04:38 409 02:32 410 03:55 411 Your Assignment - Add Order Functionality 03:09 412 04:26 413 03:35 414 03:12 415 11:38 416 08:17 417 07:53 418 04:44 419 03:57 420 Implement Create Operation 05:08 421 05:10 422 03:51 423 Implement Update Operations 07:37 424 02:23 425 Implement Delete Operations 03:18 426 03:33 427 06:06 428 Creating a Docker Image with Maven 03:42 429 Running Images with Docker 05:58 430 03:24 431 Spring Configuration for Docker 06:04 432 Update Gateway Routes and Security 03:47 433 Running Gateway in Docker 03:17 434 Running RestMVC in Docker 04:10 435 02:52 436 Running RestMVC Container with MySQL 03:34 437 Running Reactive Container 03:15 438 11:03 439 02:16 440 Introduction to Docker Compose 03:31 441 Create Docker Compose File 06:16 442 Add Auth Server and RestMVC to Compose File 06:16 443 Add Gateway to Compose and Test 06:47 444 Using Docker Compose with IntelliJ 02:35 445 Introduction to Kubernetes 04:45 446 Enable Kubernetes in Docker Desktop 02:53 447 Overview of Kubernetes Deployments 05:02 448 Deploy Mongo Pod and Service 04:59 449 Set Mongo Environment Variables 04:51 450 Debug CrashLoop on RestMVC 05:14 451 Kubernetes Port Forwarding and Testing in Postman 05:48 452 Introduction to Microservices 06:12 453 Twelve Factor Applications 10:00 454 05:38 455 Enterprise Integration Patterns 06:31 456 Starbucks Does Not Use a Two-Phase Commit 06:57 457 Microservice Project Overview 06:26 458 Create Shared Message Library 04:57 459 Refactor Spring MVC Project to use Message Library 04:20 460 Send Order Placed Application Event 05:46 461 Interview with Marcin Grzejszczak - Lead for Spring Cloud Contract 21:16 462 Interview with James Labocki of Red Hat 16:04 463 KBE - Course Introduction 00:53 464 KBE - Setting Up Your Development Environment 02:49 465 01:01 466 KBE - Spring Boot Project Code Review 07:44 467 KBE - Creating Docker File 06:14 468 KBE - Building and Running Docker Image 04:45 469 KEB - Introduction - Building Layered Image 01:39 470 KBE - Overview and Maven Configuration 05:19 471 KBE - Multi-Stage Docker File 07:44 472 KBE - Introduction - Building Docker Images with Maven 04:42 473 KBE - Introducing Docker Maven 09:07 474 KBE - Using Properties in Builds 04:42 475 KBE - Pushing to Docker Hub 03:59 476 KBE - Course Introduction 01:20 477 KBE - Setting Up Your Development Environment 03:16 478 KBE - Enable Kubernetes in Docker Desktop 03:32 479 KBE - Introduction to Deploying on Kubernetes 00:52 480 04:51 481 02:56 482 04:19 483 KBE - Terminating Services and Deployments 02:13 484 03:48 485 02:52 486 KBE - Setting Environment Variables 04:53 487 05:10 488 04:29 489 03:50 490 KBE - Course Introduction 01:43 491 KBE - Setting Up Your Development Environment 03:16 492 KBE - Enable Kubernetes in Docker Desktop 03:32 493 KBE - Introduction to Spring Boot Microservices on Kubernetes 01:54 494 KBE - Overview of Microservices Used in This Course 06:33 495 04:10 496 KBE - Running Services via Docker Compose 11:11 497 KBE - Introduction - Infrastructure Services 01:21 498 06:00 499 03:21 500 KBE - Introduction to Spring Boot Microservices 02:00 501 04:10 502 KBE - Inventory Failover Service 02:41 503 04:25 504 04:36 505 KBE - Add Readiness and Liveness Probe Configuration 06:50 506 KBE - Add Graceful Shutdown 05:23 507 KBE - Kubernetes Ingress Controllers 05:48 508 KBE - Spring Cloud Gateway Service 07:36 509 KBE - Deleting Services and Deployments 02:20 510 KBE - Introduction to Consolidated Logging 01:47 511 KBE - Logging Configuration Code Review 03:25 512 03:33 513 03:29 514 10:40