阿里p8架構師耗時一年整理的SpringBoot,從構建小系統到架構大系統

前言:

Java 的各種開發框架發展了很多年,影響了一代又一代的程序員,現在無論是程序員,還是架構師,使用這些開發框架都面臨着兩方面的挑戰。

  1. 一方面是要快速開發出系統,這就要求使用的開發框架儘量簡單,無論是新手還是老手都能快速上手,快速掌握頁面渲染、數據庫訪問等常用技術。也要求開發框架能儘量多地集成第 方工具,以便信手拈來。最後,還希望在開發調試過程中,方便代碼更改後能快速重啓。
  2. 另外一方面,當系統模塊增加,用戶使用量增加時,面對這樣的挑戰,系統拆分成爲新的架構,程序員和架構師當然不希望換掉己有的開發框架,希望能由小而美的系統過渡到大而強的分佈式系統。

環顧當前 Java 開源世界中的流行技術框架,能同時勝任這項工作的微乎其微, Play和ActFramework 是不錯的選擇,國內的 Nutz JFinal 的口碑也不錯。但能同時滿足快速開發和分佈式系統架構的框架,還是羣衆基礎最好、功能最全、基於 Spring 技術的 Spring Boot 框架

 

目錄

Java EE簡介

Java EE,指出其缺點,引入了流行的 Spring ,同時也說明 Spring經過這麼多年發展後暴露的一些缺點,從而引出 Sprin Boot ,井以兩個簡要例子作爲說明

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

 

需要免費領取這份阿里p8架構師耗時一年寫的《Spring Boot 2精髓,從構建小系統到架構分佈式大系統》的朋友,麻煩轉發小編這篇文章,然後私信我【學習】二字即可。

Spring Boot 基礎

Spring Boot 應用的開發環境做了說明,包括 Java 開發環境的安裝和配置, Maven的安裝和配置,設置國內倉庫鏡像,還有常用的Maven命令。本章最後介紹 Spring歷史以及現有開發團隊,並介紹Spring 框架的 AOP Iro 兩個核心技術

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

MVC框架

介紹MV技術,前半部分重點介紹 URL 映射到 Controller ,以及映射到 Controller方法的參數、參數類型轉化、參數驗證。後半部分簡單介紹 MVC 中的視圖技術 Freemaker Beet! 以及 Ja on 序列化技術。 Beet! Jackson將在第 章詳細介紹。

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

視圖技術

開源技術 Beeti 後端模板引擎,作爲國內流行的模板引擎之 ,具有簡單易學、功能性能強大、支持MVC 分離開發等特點。另外一部分詳細介紹 Jackson JSON序列化技術。 Jackson 不僅作爲 SpringMVC 中的 JSON 默認工具,也是 Spring Boot 分佈式技術中常採用的 JSON 序列 技術。

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

 

數據庫訪問

以 SQL 爲中心的數據庫訪問工具 Beet!SQL ,這是另外一款流行 Dao工具, SQL在markdown文件中管理,內置增刪改查、輕量級 ORM 功能、代碼生成、主從支持、跨多種數據庫等特點,適合那些更喜歡以 SQL 方式訪問數據庫的開發者。

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

 

 

Spring Data JPA

以面向對象爲中心的數據庫訪問工具 Spring Data JPA 本章由易到難,先從Spring Data 提供的功能入手,介紹如何完成數據庫簡單的增刪改查功能,然後引入 JPA 來解決應用中不可避免 複雜 SQL 查詢。

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

Spring Boot 配置

Spring Boot 高級特性 如常用的 Sprin Boot 的配置、日誌配置、應用配置的讀取、 Sprin Boot 自動裝配技術和 Sprin Boot Starter實現。

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

部署Spring Boot應用

如何部署 Spring Boot 應用,包括可執行 jar ,以及通過 war 部署到應用服務器上 應用經常面對多個環境,如開發、測試,還有準線上、線上,以及多個Demo 環境, SpringBoot 提供 Profile 來實現多環境部署。

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

Testing單元測試

單元測試概念 以及 Spring Boot 下的單元測試支持,包括 MVC 單元測試、Mock 測試,以及面向數據庫應用的測試方案

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

REST

RESTful 風格的架構,然後介紹 Spring Boot 如何集成以提供 REST 服務,使用 RestTemplate 調用 REST 服務 本章最後也重點介紹了 Swagger 3.0 技術,以方便 REST接口的交流、開發和測試。

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

MongoDB

MongoDB 的安裝和使用 然後介紹Spring Boot 如何集成 MongoDB, 同時還介紹瞭如何用 Mongo Template 訪問MongoDB

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

Redis

介紹 Redis 服務器的安裝和使用, Redis 常用的數據結構和操作命令。然後介紹 SpringBoot 如何集成 Redis ,如何使用 RedisTemplate 來操作 Redis 。本章後半部分深入介紹了 RedisTemplate提供的序列化機制。

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

Elasticsearch

Elasticsearch 的安裝和使用, Elasticsearch 既具有全文搜索功能,也能像MongoDB 那樣,具備NoSQL 的功能。本章介紹通過REST Spring Data 兩種方式訪問 Elasticsearch

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

Cache

Spring Boot Cache ,並重點介紹 Redis作爲分佈式緩存的實現。在此基礎上,改進了 Redis分佈式緩存,通過較少的代碼實現了一個具備一二 級緩存的技術方案

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

Spring Session

Spring Boot 應用水平擴展,需實現無會話狀態技術, Spring Session 提供了分佈式會話管理,本章介紹了 Nginx 作爲反向代理的內容,以及 Spring Session Redis 實現及其源碼分析。

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

Spring Boot 和 ZooKeeper

Spring Boot 應用水平擴展技術必然帶來分佈式協調要求, ZooKeeper是一個廣泛使用的分佈式協調器。本章介紹 ZooKeeper 的安裝和使用,對領導選取、分佈式鎖和服務註冊三個常用功能做了重點描述,並在 Spring Boot 應用中採用 Curator 來完成這 三個功能。

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

監控Spring Boot應用

Spring Boot 提供了內置監控功能,使得用戶通過 HTTP 請求就能知曉服務器的健康狀態,如數據源是否可用、 NoSQL 服務是否可用、最近的 HTTP 訪問的內容等監控信息。本章講述了線程械、內存、在線日誌、 HTTP 訪問、 RequestMapping 等常用監控功能。其中還講述通過 dump 線程技和內存來解決 Spring Boot 應用中的一些性能故障。

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

 

SpringBoot是目前Spring技術體系中炙手可熱的框架之一,既可用於構建業務複雜的企業應用系統,也可以開發高性能和高吞吐量的互聯網應用。Spring Boot 框架降低了Spring 技術體系的使用門檻,簡化了Spring應用的搭建和開發過程,提供了流行的第三方開源技術的自動集成。

Spring Boot 的主要技術,側重於兩個方面,一方面是極速開發一個Web應用系統,詳細介紹Spring Boot框架、 Spring MVC 視圖技術、數據庫訪問技術,並且介紹多環境部署、自動裝配、單元測試等高級特性

另一方面,當系統模塊增加,性能相吞吐量要求增加時,如何平滑地用Spring Boot實現分佈式架構,後半部分介紹 包括使 Spring實現RESTful 架構,在Spring Boot框架下使用Redis、MongoDB、 Zoo Keep、 Elasticsearch 等流行技術,使用Spring Session 實現系統水平擴展,使用Spring Cac 提高系統性能

 

總目錄

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

京東T7架構師推出的電子版SpringBoot,從構建小系統到架構大系統

需要領取這份阿里p8架構師耗時一年整理的《Spring Boot 2精髓, 從構建小系統到架構分佈式大系統》的朋友,麻煩轉發小編這篇文章,然後私信我【學習】兩字即可。