Download:Core technologies for Spring Boot2.0 deep practices

The course systematically and deeply discusses the core features of Spring Boot, guides students to pay attention to Java specifications, inspires them to think about technical principles, master the skills of troubleshooting problems, and learn the methods and skills of reading source code, comprehensively improve their research and development ability, and join the team of architects.

天安门事件

Suits the crowd

天安门事件

1~5 years development experience, middleware developer, system architect

天安门事件

Technical reserve requirements

天安门事件

Basic knowledge of Spring Framework or Spring Boot

Chapter Contents:

Chapter 1 Series Overview

An overview of the overall agenda of the Spring Boot 2.0 Deep Practice series, It includes three core features of Spring Boot (automatic assembly of components, embedded Web container, production preparation features), Web applications (traditional Servlet, Spring Web MVC, Spring WebFlux), data correlation (JDBC, JPA, transactions), feature extensions (SpringApplication, Spring Boot configuration, Spring Boot Starter), and…

1-1 – Course guide and trial

1-2 Why is Spring Boot 2.0 easy to learn but difficult to master?

1-3 Prologue: Series overview

1-4 Core Features

1-5 Component automatic assembly engineering section for core features

1-6 Introduction to Web Applications

1-7 Traditional Server applications

1-8 Asynchronous non-blocking Servlet code examples

1-9 Introduction to Spring Web MVC Application

1-10 Spring WebFlux application

1-11 Web Server applications

1-12 Introduction to data

1-13 This section describes function extensions

1-14 Introduction to O&M Management

Chapter 2 moves towards automatic assembly

A complete introduction to the evolution of Spring Boot from the Spring Framework to component assembly. According to the development of Spring Framework, we will first introduce “Spring mode annotation assembly”, then explain “Spring@enable module assembly”, and finally discuss “Spring conditional assembly”. Learn the native capabilities provided in the Spring Framework and understand how Spring Boot…

2-1 to automatic assembly trial

2-2 Spring Framework manual assembly

2-3 Spring Framework manually assembles custom schema annotations

2-4 Spring Framework manual assembly – @enable Annotation-driven mode

2-5 Spring Framework @enable – Custom @enable is implemented based on interface driver

2-6 The @Enable module can be assembled in two ways

2-7 Spring conditional assembly

2-8 Realize custom conditional assembly based on configuration mode

2-9 Conditional assembly based on programming

2-10 Spring Boot automatic assembly trial

2-11 Custom automatic assembly

2-12 To auto assembly summary

Chapter 3 understanding SpringApplication

This section first introduces the basic usage method of SpringApplication, and discusses the SpringApplication preparation stage and SpringApplication running stage respectively according to the execution stage of Spring Boot application. Understand the role of Spring Boot Bean configuration sources, the role of Web application type inference on Spring application context types, and Spring Boot event/event mechanisms. .

Understand SpringApplication 3 to 1

3-2 Basic technology and derivative technology

3-3 Combined project

3-4 SpringApplication Preparation stage

3-5 Configuring the Spring Boot Bean source code section

3-6 Infer the Web application type

3-7 Infer the bootstrap class

3-8 Loading the application context initializer

3-9 Loading the application event listener

3-10 SpringApplication Running Phase

3-11 SpringApplication runs the listener event listener programming model

3-12 SpringApplication runs listeners

3-13 Listen for Spring Boot events

3-14 Creating a Spring application context

3-15 Understand the SpringApplication summary

Chapter 4 Web MVC core

Through the introduction of J2EE Front Controller pattern, understand the idea of Spring Web MVC architecture design, and then review the XML file configuration and WAR file deployment scenarios of Spring Web MVC in the traditional Servlet container. To get a fresh look at Spring Web MVC core components and their interaction flows, including Web MVC annotation-driven capabilities as well as autairing capabilities, to better understand…

4-1 Web MVC Core – Prologue

4-2 Understand the Spring Web MVC architecture

4-3 General Understanding of the Spring Framework era

4-4 Re-understanding of the Spring Framework era

4-5 Process description of core components

4-6 Web MVC annotation driver

4-7 Components of the Web MVC module

4-8 WebMvcConfigurer injection process

Common Notes for Web MVC (Part 1)

Common Notes for Web MVC (Part 2)

4-11 Web MVC auto-assembly

4-12 Implementation of Web MVC auto-assembly

4-13 Simplification in the Spring Boot era

4-14 Fully automatic assembly

4-15 Conditional assembly

4-16 Externalize the configuration

4-17 Simplifying the Spring Boot era – Syllabus section

4-18 Refactoring the Spring Web MVC project

4-19-1 Web MVC Core Summary

Chapter 5 Web MVC View application

The core topic of this chapter is “View content negotiation”. Master the configuration means of content negotiation policies and understand their internal relationship with view processor, so as to deeply understand the core principle of Spring Web MVC view processing, and thus understand how Spring Boot automatically installs view processor and content negotiation manager. And how to control their behavior by externalizing the configuration. The next generation server template engine Thymeleaf is introduced.

5-1 Web MVC view application

5-2 Syntax and core elements of the new generation server template engine Thymeleaf

5-3 Thymeleaf example

5-4 Process of ThymeleafViewResolver and multi-viewResolver

5-5 ThymeleafViewResolver example

5-6 integration InternalResourceViewResolver example

5-7 Example of fixing Maven multi-module JSP location problems

5-8 View content negotiation

5-9 View content negotiation code analysis

5-10 ViewResolver Conflict Description section

5-11 Principle of ViewResolver content negotiation

5-12 Summary of Web MVC View Application New

Chapter 6 Web MVC REST Applications

We’ll start with a discussion of REST fundamentals and introduce Spring Web MVC’s full support for REST, including REST control definitions, annotation mapping, requests, responses, AOP interception, and cross-domain control (e.g., @Crossorigin). Then it focuses on analyzing the principle of REST content negotiation with source code and understanding content negotiation management. And understand the Spring Web MVC REST content negotiation process. .

6-1 Web MVC REST Application and REST Introduction

6-2 Web MVC REST support

6-3 REST Content Negotiation

6-4 Web MVC REST Process

6-5 Web MVC REST process source code analysis

6-6 Web MVC REST Content Negotiation Process

6-7 Source code analysis of Web MVC REST content negotiation process

6-8 Understand the media types

6-9 Understand source code analysis of media types

6-10 Extended REST Content negotiation – Deserialization section

6-11 Extends REST content negotiation – Serialization section

6-12 Customizing Resolver implementation

6-13 Customizing Handler implementation

6-14 REST Content negotiation CORS

6-15 Summary of Web MVC REST Applications

Chapter 7: Servlet Drifting away

The discussion focuses on how Spring Boot 2.0 can make servlets go away. The first thing you need to know is how servlets are used and what features are covered by each version of the Servlet specification. These include the Servlet 3.1+ specification supported by Spring Boot. Explore the Spring Web MVC DispatcherServlet and other Filter components through a discussion of the Servlet lifecycle…

7-1 Servlet drifting away

7-2 Servlet core API

7-3 Servlet version

7-4 Servlet register

7-5 Understand the Servlet component lifecycle

7-6 Servlet asynchronous support

7-7 DeferredResult adds thread information

7-8 DeferredResult sets timeout and handles callbacks

7-9 DeferredResult asynchronously executed

7-10 Callable asynchronous execution

7-11 CompletionStage executes asynchronously

7-12 MVC asynchronous support principle analysis

7-13 Asynchronous Servlet implementation

7-14 Implementation principle of DefferedResult

7-15 Spring Boot Embedded Servlet container restrictions

7-16 Spring Boot Embedded Servlet container limitation principle analysis

7-17 Spring Boot applies traditional Servlet container deployment

SpringBootServletInitializer 7-18 extension

7-19 Building an Application

7-20 Summary of the Servlet drifting away

Chapter 8: From Reactive to WebFlux

Help people understand the nature of Reactive. Understand the usage scenarios of Reactive through six different definitions, programming models, and design patterns, and extend the Reactive Streams specification and its implementation framework, Reactor. The combination of theory and practice makes us realize that Reactive is not a new thing, but a new programming model. It is neither limited to its implementation framework nor a “silver bullet” to solve problems.

8-1 From Reactive to WebFlux

8-2 Some statements about Reactive

8-3 Understand the drawbacks of blocking and the complexities of parallelism

8-4 Reactor argues that asynchrony is not necessarily salvation

8-5 Understand Callback Hell

8-6 Understand the Future blocking problem

8-7 Understand the Future chain problem

8-8 Reactive Streams JVMS recognize that asynchronous systems and resource consumption require special processing

8-9 Reactive Programming Definition

8-10 Reactive Manifesto Definition

8-11 Wikipedia

8-12 Spring Framework definitions

8 and 13 ReactiveX definition

8 to 14 Reactor definition

8-15 andrestaltz definition

Reactive Programming features: Programming model

8-17 Reactive Programming Features: Data structures

Reactive Programming: Concurrency model

8-19 Application Scenarios of Reactive Programming

8-20 Reactive Streams specification: Definitions

8-21 Reactive Streams specification: apis and events

Reactive Streams specification: Back pressure

8-23 Reactor Framework Application – Core API

8-24 Reactor Framework Application (I)

8-25 Actual Application of Reactor Framework (PART 2)

8-26 Go to Spring WebFlux

8-27 From Reactive to WebFlux – Class Summary

Chapter 9 WebFlux Core

Continue to discuss WebFlux usage scenarios, programming models, and core interfaces. The usage scenarios section introduces the motivation for introducing Spring WebFlux and compares Spring MVC’s applicability boundaries, execution performance, and concurrency model. The discussion focused on the programming model, with Spring WebFlux providing support for functional endpoints to improve the programmatic flexibility of request processing and mapping. Finally, by comparing the Spring MVC core…

9-1 WebFlux core

9-2 Motivation analysis of the official introduction of WebFlux

9-3 reviews Reactive

9-4 Programming model: Annotation-driven

9-5 Java function programming basics

9-6 Programming model: Functional Endpoints

9-7 WebFlux Core – Concurrency model

9-8 WebFlux Core – Core components

9-9 WebFlux Core Processing Flow – Functional endpoint component request processing flow

9-10 WebFlux Core Processing Flow – Annotation-driven component request processing flow

9-11 WebFlux Core – Application Scenarios

9-12 WebFlux Core – Class Summary

9-13 WebFlux Core – Course Eggs

Chapter 10 goes beyond Externalizing configuration

The first topic discussed is the Spring Environment abstraction, which serves as the configuration core API for the Spring Framework, Spring Boot, and even The Spring Cloud. Combined with SpringApplication life cycle and Spring Boot event analysis, macro grasp the use of Spring Boot multiple configuration sources, understand the priority order logic between them, and then for the extension of Spring Boot externalization.

10-1 The opening section

10-2 Understanding and applying “Externalized Configuration”

10-3 Placeholders for attributes defined by XML beans

10-4 PropertySource Sequence description

10-5 Applying “Externalized Configuration” – for @Value injection (part 1)

10-6 Apply “Externalized Configuration” – for @Value injection (part 2)

10-7 Used for Environment reading

10-8 for Environment reading – source code analysis

10-9 For @ConfigurationProperties Bean binding (part 1)

For @ConfigurationProperties Bean binding (part 2)

10-11 for @conditionalonProperty judgment

10-12 Extending External Configuration

10-13 Understanding the Spring Boot Environment lifecycle

10-14 Locating the external configuration attribute source

10-15 based on SpringApplicationRunListener environmentPrepared

10 to 16 ApplicationEnvironmentPreparedEvent based

10 to 17 EnvironmentPostProcessor based

10 to 18 ApplicationContextInitializer based

10-19 Extension Externalization Configure other extension points of attribute sources

10-20 Extended “Externalized Configuration” class summary

This course is over