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