Foreword:
Various development frameworks of Java have been developed for many years and have influenced generations of programmers. Now whether programmers or architects use these development frameworks, they face two challenges.
- On the one hand, the system needs to be developed quickly. This requires that the development framework used is as simple as possible. Both novices and veterans can quickly get started and quickly master common technologies such as page rendering and database access. It also requires the development framework to integrate as many third-party tools as possible so that it can be easily handled. Finally, I also hope that in the development and debugging process, it is convenient to restart quickly after code changes.
- On the other hand, when system modules increase and user usage increases, facing such challenges, the system is split into new architectures. Of course, programmers and architects do not want to replace their own development frameworks, and hope to be small The Midea system transitioned to a large and powerful distributed system.
Looking around the popular technology frameworks in the current Java open source world, there are very few who can do this job at the same time. Play and ActFramework are good choices, and the domestic Nutz JFinal has a good reputation. But the framework that can satisfy both rapid development and distributed system architecture is the Spring Boot framework with the best mass base, the most complete functions, and Spring technology based on Spring technology.
Friends who need to receive this "Spring Boot 2 Essence, From Building Small Systems to Building Distributed Large Systems" compiled by the Jingdong T7 architects for free, please write this article, and then send me a private message [pdf] Three Word or just look below.
table of Contents
Chapter 1 Introduction to Java EE
Java EE, pointed out its shortcomings, introduced the popular Spring, and also explained some shortcomings exposed by Spring after so many years of development, leading to Sprin Boot, and two brief examples as an illustration
Chapter 2 Spring Boot Basics
The development environment of Spring Boot applications is explained, including the installation and configuration of the Java development environment, the installation and configuration of Maven, the setting of domestic warehouse mirroring, and the commonly used Maven commands. This chapter finally introduces the Spring history and the existing development team, and introduces the two core technologies of Spring framework AOP Iro
Chapter 3 MVC Framework
Introduce the MV technology, the first half focuses on the URL mapping to the Controller, and the parameters mapped to the Controller method, parameter type conversion, and parameter verification. The second half briefly introduces the view technology Freemaker Beet! and Ja on serialization technology in MVC. Beet! Jackson will be introduced in detail in Chapter.
Chapter 4 View Technology
The open source technology Beeti back-end template engine, as one of the popular template engines in China, has the characteristics of simple and easy to learn, powerful functions, and support for MVC separation development. The other part introduces Jackson JSON serialization technology in detail. Jackson is not only the default JSON tool in SpringMVC, but also the JSON sequence technology often used in Spring Boot distributed technology.
Chapter 5 Database Access
SQL-centric database access tool Beet! SQL, this is another popular Dao tool. SQL is managed in markdown files, with built-in additions, deletions, changes and checks, lightweight ORM functions, code generation, master-slave support, and multiple databases. And other features, suitable for developers who prefer to access databases in SQL.
第 6 章 Spring Data JPA
Object-oriented database access tool Spring Data JPA This chapter starts from easy to difficult, starting with the functions provided by Spring Data, and introduces how to complete the simple addition, deletion, and modification of the database, and then introduces JPA to solve the inevitable complex SQL queries in the application .
Chapter 7 Spring Boot Configuration
Spring Boot advanced features such as commonly used Sprin Boot configuration, log configuration, application configuration reading, Sprin Boot automatic assembly technology and Sprin Boot Starter implementation.
Chapter 8 Deploying Spring Boot Applications
How to deploy Spring Boot applications, including executable jars, and deployment to application servers through war. Applications often face multiple environments, such as development, testing, as well as alignment, online, and multiple Demo environments. SpringBoot provides Profile To achieve multi-environment deployment.
Chapter 9 Testing Unit Testing
Unit testing concepts and unit testing support under Spring Boot, including MVC unit testing, Mock testing, and testing solutions for database applications
Chapter 10 REST
RESTful style architecture, and then introduce how Spring Boot integrates to provide REST services, and use RestTemplate to call REST services. At the end of this chapter, we also focus on the Swagger 3.0 technology to facilitate the communication, development and testing of REST interfaces.
Chapter 11 MongoDB
The installation and use of MongoDB then introduces how Spring Boot integrates MongoDB, and also introduces how to use Mongo Template to access MongoDB
Chapter 12 Redis
Introduce the installation and use of Redis server, Redis commonly used data structure and operation commands. Then introduce how SpringBoot integrates Redis and how to use RedisTemplate to operate Redis. The second half of this chapter introduces the serialization mechanism provided by RedisTemplate in depth.
Chapter 13 Elasticsearch
For the installation and use of Elasticsearch, Elasticsearch not only has full-text search function, but also has NoSQL function like MongoDB. This chapter introduces two ways to access Elasticsearch through REST Spring Data
Chapter 14 Cache
Spring Boot Cache, and focuses on the implementation of Redis as a distributed cache. On this basis, the Redis distributed cache is improved, and a technical solution with a primary and secondary cache is implemented with less code
Chapter 15 Spring Session
The horizontal expansion of Spring Boot application requires the realization of sessionless state technology. Spring Session provides distributed session management. This chapter introduces the content of Nginx as a reverse proxy, the implementation of Spring Session Redis and its source code analysis.
Chapter 16 Spring Boot and ZooKeeper
Spring Boot application horizontal expansion technology will inevitably bring distributed coordination requirements, and ZooKeeper is a widely used distributed coordinator. This chapter introduces the installation and use of ZooKeeper, focuses on the three common functions of leader selection, distributed lock and service registration, and uses Curator to complete these three functions in Spring Boot applications.
Chapter 17 Monitoring Spring Boot Applications
Spring Boot provides built-in monitoring functions so that users can know the health status of the server through HTTP requests, such as whether the data source is available, whether the NoSQL service is available, and the content of recent HTTP access. This chapter describes the common monitoring functions such as thread machinery, memory, online log, HTTP access, and RequestMapping. It also describes how to use dump thread technology and memory to solve some performance failures in Spring Boot applications.
SpringBoot is currently one of the hottest frameworks in the Spring technology system. It can be used to build complex enterprise application systems and develop high-performance and high-throughput Internet applications. The Spring Boot framework lowers the threshold for using the Spring technology system, simplifies the construction and development process of Spring applications, and provides automatic integration of popular third-party open source technologies.
The main technology of Spring Boot focuses on two aspects. On the one hand, it is the rapid development of a web application system, which introduces the Spring Boot framework, Spring MVC view technology, database access technology in detail, and introduces advanced multi-environment deployment, automatic assembly, unit testing, etc. characteristic
On the other hand, when the system modules increase and the performance and throughput requirements increase, how to smoothly implement a distributed architecture with Spring Boot. The second half of the introduction includes using Spring to implement a RESTful architecture and using Redis, MongoDB, and Zoo under the Spring Boot framework. Popular technologies such as Keep and Elasticsearch use Spring Session to achieve horizontal system expansion, and Spring Cac to improve system performance
List
Friends who need to receive this "Spring Boot 2 Essence, From Building Small Systems to Building Distributed Large Systems" compiled by the Jingdong T7 architects for a year, please troubleshoot this article, and then scan the following to get it for free .