Spring Framework 5: Beginner to Guru

Spring Framework 5: Beginner to Guru
Spring Framework 5: Beginner to Guru

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 34 Hours | 8.41 GB
eLearning | Skill level: All Levels

Spring Framework 5: Learn Spring Framework 5, Spring Boot 2, Spring MVC, Spring Data JPA, Spring Data MongoDB, Hibernate

Learn Spring with the most modern and comprehensive course available for Spring Framework 5 and Spring Boot 2. You will see how to build multiple real world applications using Spring Framework 5.

The in demand technologies you will use to build Spring Framework applications, include:

  • Spring Framework 5
  • Spring Boot 2
  • Spring Data JPA
  • Spring MVC
  • Spring MockMVC
  • Spring WebFlux
  • Spring Data MongoDB
  • Spring Security (Coming in Q1 2018)
  • Hibernate
  • Project Lombok
  • MapStruct
  • Maven
  • Gradle

All source code examples used in this course have been developed using the latest version of the Spring Framework – Spring Framework 5 and Spring Boot 2.

You will see how modern Spring Framework development is done by leveraging the features of Spring Boot 2.

Jump In and Build a Spring MVC App with Spring Boot!

We’ll jump right into web development with the Spring Framework. I’ll show you how kick off a Spring Boot project by using the Spring Initializr. We will then go step by step to build a simple Book / Author web application.

You will see how easy it is to use Spring Boot, Spring MVC, and Spring Data JPA to create a functional web application running under Tomcat with a H2 in-memory database.

Use Test Driven Development!

In addition to teaching you Spring Framework 5, you will learn about modern best practices used in enterprise application development.

As we build the applications, you’ll see me using Test Driven Development (TDD) with JUnit and Mockito.

Using Mockito mocks keeps your Spring Framework unit tests light and fast!

You’ll also see how the Spring context can be used for more complex integration tests.

These techniques are best practices used by companies all over the world to build and manage large scale Spring Framework applications.

GitHub Source Code

You will have complete access to all source code examples used in the course.

In each lesson where we write code, you will have a link to GitHub with two branches in the Github repository.

The first branch is the starting state of the code.

The second branch is the ending state of the code.

You can see exactly what changed in each lesson. Each step of the way, you have a working example you can use for troubleshooting.

In fact, you will get access to 23 (and growing!) different GitHub repositories – each packed with Spring Framework programming examples.

And, you’re encouraged to fork my GitHub repositories so you can share the Spring Framework applications, which you built, to future employers!

Continuous Integration Builds

Since we are using GitHub and have great test coverage, I also show you how easy it is to set up Continuous Integration builds with CircleCI.

Continuous Integration builds are another best practice used by enterprise developers.

Using CircleCI makes your CI builds a snap!

Project Lombok

We all know Java development can require a lot of boiler plate code. It’s just the nature of Java.

Would you like to see how to slash your boiler plate code using Project Lombok?

Spring Data JPA and Hibernate

Spring MVC and Hibernate have long been cornerstones of the Spring Framework. You will learn how to use Spring MVC, Spring Data JPA and Hibernate to build a real world web application. You’ll learn about Hibernate configuration, and about the mapping of JPA entities.

The Thymeleaf template engine is hugely popular with the Spring community. You will see how easy Spring Boot makes using Thymeleaf with Spring MVC.

While Bootstrap CSS is not a focus of the course, we will leverage Bootstrap CSS to make our web pages look awesome!

Spring MVC

Spring MVC has a lot of robust capabilities.

I start you off showing you how to build recipe application (using TDD, of course).

Initially, it’s all happy path development. We go back and add custom exception handling, form validation, and internationalization.

In the course you will also learn how to use Spring MVC to create RESTful APIs.

Reactive Programming

A big theme of Spring Framework 5 is Reactive Programming.

Inside the course we build a web application using Thymeleaf, Spring MVC, Spring Data MongoDB, and MongoDB.

We then take the MongoDB application we built and convert it to a Reactive application. You’ll see how you can leverage the new Reactive types inside the Spring Framework from the data tier to the web tier.

You will get to see step by step how to convert a traditional Spring MVC application to an end to end reactive application using the WebFlux framework – which is brand new to Spring Framework 5.

Coming Soon to the Course

I plan to add a lot more content to this course!

I want this to be your go-to course for becoming a Spring Framework developer.

Coming soon to the course in early 2018:

  • Spring Security
  • Documenting your APIs with RestDoc
  • Aspect Oriented Programming (AOP)
  • Using Spring Events
  • Scheduling Tasks
  • Caching with eHcache
  • Spring JDBC (JDBC Template)
  • JMS Messaging
  • AMQP with RabbitMQ
  • Logging configuration for Logback and Log4J 2
  • And more real world Spring Framework apps!

Message me if there is a topic you’d like to see!

Spring Framework 5 GA Release

This Spring Framework course is so new, it has been developed using Spring Framework 5 ‘Release Candidate’ releases.

Spring Framework 5 went GA (General Availability) in September of 2017.

The Spring Boot 2.0 GA release is expected to be in early 2018.

All source code examples will get updated as the GA releases of the Spring Framework and Spring Boot become available.

+ Table of Contents

Introduction to Spring Framework 5 Beginner to Guru
1 Spring Framework 5 – Course Introduction
2 Instructor Introduction – John Thompson Spring Framework Guru
3 Setting up your Development Environment for Spring
4 Is Your IDE Free Like a Puppy
5 Free 90 Day IntelliJ IDEA Trial
6 Whats New in Spring Framework 5
7 Getting Help with the Spring Framework
8 Course Slack Room – Chat Live with Me and Other Gurus

Building a Spring Boot Web App
9 Introduction
10 Spring Initializr
11 Open Project in IntelliJ
12 Using JPA Entities
13 Equality in Hibernate
14 Using GitHub
15 Code Examples in GitHub
16 Spring Data JPA Repositories
17 Initializing Data with Spring Framework Events
18 Assignment – Add Publisher Entity
19 Assignment Review of Add Publisher Entity
20 Introduction to Spring MVC
21 Configuring Spring MVC Controllers
22 Thymeleaf Templates
23 Assignment – Display List of Authors
24 Assignment Review – Display List of Authors
25 Conclusion

Dependency Injection with the Spring Framework
26 Introduction to Dependency Injection with Spring
27 SOLID Principles of OOP
28 Create an Spring Framework DI Example Project
29 The Spring Framework Context
30 Basics of DI
31 Dependency Injection without the Spring Framework
32 Dependency Injection using Spring Framework
33 Using Qualifiers
34 Primary Beans
35 Spring Profiles
36 Default Profile
37 Spring Bean Life Cycle
38 Dependency Injection Assignment
39 Dependency Injection Assignment Review
40 Spring Bean Life Cycle Demo
41 Flashcards
42 Single Responsibility Principle
43 Open Closed Principle
44 Liskov Substitution Principle
45 Interface Segregation Principle
46 Dependency Inversion Principle
47 Conclusion

Building A Spring Boot Jokes App
48 Introduction
49 Assignment – Build a Spring Boot Jokes App
50 Creating the Spring Boot Project
51 Adding Maven Dependencies
52 Creating the Spring Service Layer
53 Creating the Spring MVC Controller
54 Creating the View Layer
55 Tips and Tricks – Custom Banner
56 Conclusion

Spring Framework Configuration
57 Introduction to Spring Framework Configuration
58 Spring Configuration Options
59 Spring Framework Stereotypes
60 Component Scan
61 Java Configuration Example
62 Spring XML Configuration Example
63 Using Factory Beans
64 Spring Boot Configuration
65 Spring Boot Configuration Demo
66 Spring Bean Scope
67 Spring Framework Configuration Flashcards
68 Conclusion

External Properties with Spring
69 Section Overview
70 Property Source
71 Spring Environment Properties
72 Multiple Property Files
73 Spring Boot Application_properties
74 Introduction to YAML
75 Spring Boot YAML Properties
76 Property Hiarchy
77 Spring Boot Profile Properties
78 Conclusion

Web Development with Spring MVC
79 Introduction to Web Development with Spring MVC
80 Assignment Create a Recipe Project using Spring Boot
81 Assignment Review – Create Recipe Project
82 Create Index Page
83 HTTP Protocol
84 HTTP Request Methods
85 Chrome Developer Tools
86 Firefox Firebug
87 Firefox Developer Edition
88 Safari Web Inspector
89 Axis TCPMon
90 Spring Boot Development Tools
91 IntelliJ Compiler Configuration
92 Conclusion

JPA Data Modeling with Spring and Hibernate
93 Introduction
94 JPA Entity Relationships
95 Recipe Data Model
96 Forking in GitHub
97 One To One JPA Relationships
98 One To Many JPA Relationships
99 Assignment – Create One to One Relationship
100 Assignment – Review
101 JPA Enumerations
102 Many To Many JPA Relationships
103 Creating Spring Data Repositories
104 Database Initialization with Spring
105 Spring Data JPA Query Methods
106 Assignment Display List of Recipes on Index Page
107 Assignment Review Display List of Recipes
108 Pro-Tips – Using Setters for JPA Bidirectional Relationships
109 Flashcards
110 Conclusion

Project Lombok
111 Introduction to Project Lombok
112 Project Lombok Features
113 Adding Project Lombok and IDE Configuration
114 Using Project Lombok
115 Assignment – Complete Refactoring with Project Lombok
116 Assignment Review
117 Gotchas with Project Lombok

Testing Spring Framework Applications
118 Introduction to Testing Spring Framework Applications
119 Using Bootstrap CSS
120 Introduction to Testing Spring Framework Apps
121 Creating a JUnit Test
122 Using Mockito Mocks
123 Assignment – Write Test for IndexController
124 Assignment Review
125 Mockito Argument Capture
126 Introduction to Spring MockMVC
127 Spring Integration Test
128 Maven Failsafe Plugin
129 Continuous Integration Testing with Circle CI
130 Conclusion

CRUD Operations with Spring MVC
131 Introduction
132 Using WebJars with Spring Boot
133 Display a Recipe by ID
134 Assignment – Display remaining recipe properties
135 Assignment Review – Display Remaing Recipe Properties
136 Processing Form Posts with Spring MVC
137 Creating a Command Object and Type Conversions in Spring
138 Create a Recipe
139 Update a Recipe
140 Delete a Recipe
141 View Ingredients
142 Show Ingredient
143 Update Ingredient
144 Create an Ingredient
145 Assignment – Delete an Ingredient
146 Assignment Review – Delete Ingredient
147 Enumeration Dropdowns with Spring MVC and Thymeleaf
148 Using the Debugger
149 Uploading Images with Spring MVC
150 Persisting images to Database
151 Displaying images from Database
152 Conclusion

Validation and Constraints with Spring MVC
153 Introduction to Validation and Constraints with Spring MVC
154 Overview of Exception Handling
155 Using Spring MVC Annotation ResponseStatus
156 Spring MVC Exception Handler
157 Showing Error Data on 404 Error Page
158 Assignment Handle Number Format Exception
159 Assignment Review Handle Number Format Exception
160 Spring MVC Controller Advice
161 Data Validation with JSR-303
162 Data Validation with Spring MVC
163 Displaying Validation Errors with Thymeleaf
164 Customizing Error Messages with Message Source
165 Introduction to Internationalization
166 Internationalization with Spring MVC
167 Conclusion

Introduction to Docker
168 Course Extra – Docker
169 Discussion about Docker with Rob A
170 Introduction
171 What is Docker
172 Docker Editions
173 Installing Docker
174 Hello World with Docker
175 Docker Hub
176 Introducing KiteMatic
177 Assignment – Run Hello World Nginx
178 Conclusion

Working with Containers and Images
179 Introduction
180 Running Mongo DB Docker Container
181 Assignment – Download and Run Spring Boot Project
182 Assignment Review
183 Docker Images
184 Docker Files
185 Non Persistent Container Storage
186 Assigning Storage
187 Assignment – Run Rabbit MQ Container
188 Assignment Review
189 Assignment – Run MySQL in a Container
190 Assignment Review
191 Docker House Keeping
192 Flash Cards
193 Conclusion

Running Spring Boot in a Centos Image
194 Introduction
195 Preparing CentOS for Java development
196 Sample Spring Boot Application
197 Running Spring Boot from Docker
198 Assignment Run Your Own Spring Boot App
199 Assignment – Fix Dockerfile
200 Assignment Review
201 Interview with James Labocki of Red Hat
202 Conclusion
203 Docker Section Conclusion

Using MySQL with Spring Boot
204 Introduction
205 Introduction to MySQL
206 Application Code Review
207 Assignment – Configure MySQL
208 Assignment Review – Configuration of MySQL
209 CircleCI Configuration
210 Code Coverage Configuration for CodeCov_io
211 Spring Boot Configuration for MySQL
212 Schema Generation With Hibernate
213 Refactor Database Initialization for MySQL
214 Conclusion

Spring Data MongoDB
215 Introduction to Spring Data MongoDB
216 Introduction to MongoDB
217 Mongo Application Code Review
218 CircleCI Configuration
219 Code Coverage Configuration for CodeCov_io
220 Embedded MongoDB Configuration
221 Refactoring Data Model for MongoDB
222 Correcting Application Defects Under MongoDB
223 Integration Testing with MongoDB
224 Conclusion

Introduction to Reactive Programming
225 Introduction to Reactive Programming with Spring Framework 5
226 Reactive Manifesto
227 What is Reactive Programming
228 Reactive Streams
229 Reactive Programming Examples
230 Conclusion

Reactive Programming with Spring and MongoDB
231 Introduction
232 Reactive Repositories
233 Assignment – Convert to Reactive Repositories
234 Assignment Review – Convert to Reactive Repositories
235 Reactive Service Layer
236 Assignment – Refactor Ingredient Service
237 Assignment Review – Refactor Ingredient Service
238 A Better Way with Reactive Streams
239 Failed CI Build
240 Refactoring Data Model for Reactive MongoDB
241 Assignment – Refactor Recipe Service
242 Assignment Review – Refactor Recipe Service
243 Assignment – Refactor Image Service
244 Assignment Review – Refactor Image Service
245 Conclusion

Introduction to Spring Framework WebFlux
246 Introduction
247 Spring WebFlux Dependencies
248 Reactive Thymeleaf Configuration
249 Going Reactive With Thymeleaf
250 Assignment – Refactor Recipe and Ingredient Controllers
251 Assignment Review – Refactor Recipe and Ingredient Controllers
252 Binding Validation
253 Assignment – Update Binding Validation for Ingredient Controller
254 Assignment Review – Update Binding Validation for Ingredient Controller
255 Common Model Attributes
256 WebFlux Exception Handling
257 WebFlux Controller Advice
258 Multipart Upload
259 Introduction to Router Functions
260 Introduction to Spring WebTestClient
261 Spring WebFlux Conclusion

Introduction to RESTFul Web Services
262 Introduction to RESTFul Web Services
263 Beginners Guide to REST
264 Richardson Maturity Model
265 Introduction to Postman
266 Assignment – Create Data Model
267 Assignment Review – Create Data Model
268 Introduction to Spring RestTemplate
269 Using WebFlux to Display API Data
270 URI Components Builder
271 Rest Template Examples
272 Going Reactive with Spring WebClient
273 Conclusion

RESTFul WebServices with Spring MVC
274 Introduction to RESTFul Web Services with Spring MVC
275 New Spring Boot Project
276 Spring Boot Command Line Runner
277 Introduction to MapStruct
278 Using MapStruct
279 MapStruct IntelliJ Plugin
280 Category Service
281 List Categories
282 Testing with Postman
283 Assignment – Create Get API for Customers
284 Assignment Review
285 Create New Customer With Post
286 Update Customer with PUT
287 Integration Testing with DataJPATest
288 Update Customer with PATCH
289 Delete Customer
290 Externalize API URL Value
291 Exception Handling
292 Spring Rest Controller
293 Assignment Create Vendors API
294 Assignment Review
295 Conclusion

Using Swagger with Spring Boot
296 Introduction to Swagger
297 What is Swagger
298 Configuring Swagger
299 Swagger UI
300 Customizing Swagger with Meta Data
301 Customizing Endpoint Documention
302 Assignment Customize Vendors
303 Assignment Review
304 Introduction to Swagger Editor
305 Swagger Code Gen
306 Conclusion

RESTFul WebServices with Spring WebFlux
307 Introduction
308 New Spring Boot Project
309 Creating Data Model and Repositories
310 Assignment – Create Vendor Data Model Populate Data
311 Assignment Review
312 Create Category Controller
313 Testing Category Controller
314 Assignment Create Get Endpoints for Vendors
315 Assignment Review Create Get Endpoints for Vendors
316 Create Category with POST
317 Update Category with PUT
318 Assignment Implement POST for Vendors
319 Assignment Review Implement POST for Vendors
320 Assignment Implement PUT for Vendors
321 Assignment Review Implement PUT for Vendors
322 Update Category with PATCH
323 Assignment Implement PATCH for Vendors
324 Assignment Review Implement PATCH for Vendors
325 Conclusion

Spring MVC Content Negotiation
326 Spring MVC Content Negotiation Overview
327 Maven Dependencies to Render XML with Spring MVC
328 Introduction to XML Schema
329 Using Multi-Module Maven Builds with Spring Boot
330 Using JAXB to Generate Java Classes
331 Refactor for JAXB Generated Classes
332 Testing and Running JAXB Generated Classes in Spring Boot Application

Troubleshooting Spring
333 Debugging Thymeleaf
334 Problems with Spring Security and H2 Database Console
335 Configuring Spring Sec DAO Provider
336 Troubleshooting Spring MVC Request Mapping
337 H2 Database Connection Timeouts
338 Troubleshooting Spring Cloud Sleuth
339 Troubleshooting NPE with Mockito Mocks
340 Error from Thymeleaf
341 Missing tables in H2 Console

Spring Boot Cookbook
342 Spring Boot Cookbook Introduction
343 Spring Boot Mongo DB
344 Spring Boot MySQL
345 Spring Boot Postgres Example
346 Spring Boot Maria DB Example
347 Spring Boot DB2 Express Example
348 Spring Boot Oracle Database Example
349 Spring Boot Redis Example
350 Spring Boot Neo4J Example
351 Spring Boot Cassandra Example
352 Spring Boot Active MQ Example
353 Spring Boot RabbitMQ Example
354 Bonus Lecture Get My Other Udemy Courses
355 Spring Framework Guru – August 2017 Group Coaching Call

Download from DepFile

Download from Turbobit

Download from DepositFiles

Download from Rapidgator