前言:
Java 的各種開發框架發展了很多年,影響了一代又一代的程序員,現在無論是程序員,還是架構師,使用這些開發框架都面臨着兩方面的挑戰。
環顧當前 Java 開源世界中的流行技術框架,能同時勝任這項工作的微乎其微, Play和ActFramework 是不錯的選擇,國內的 Nutz JFinal 的口碑也不錯。但能同時滿足快速開發和分佈式系統架構的框架,還是羣衆基礎最好、功能最全、基於 Spring 技術的 Spring Boot 框架
目錄
Java EE簡介
Java EE,指出其缺點,引入了流行的 Spring ,同時也說明 Spring經過這麼多年發展後暴露的一些缺點,從而引出 Sprin Boot ,井以兩個簡要例子作爲說明
需要免費領取這份阿里p8架構師耗時一年寫的《Spring Boot 2精髓,從構建小系統到架構分佈式大系統》的朋友,麻煩轉發小編這篇文章,然後私信我【學習】二字即可。
Spring Boot 基礎
Spring Boot 應用的開發環境做了說明,包括 Java 開發環境的安裝和配置, Maven的安裝和配置,設置國內倉庫鏡像,還有常用的Maven命令。本章最後介紹 Spring歷史以及現有開發團隊,並介紹Spring 框架的 AOP Iro 兩個核心技術
MVC框架
介紹MV技術,前半部分重點介紹 URL 映射到 Controller ,以及映射到 Controller方法的參數、參數類型轉化、參數驗證。後半部分簡單介紹 MVC 中的視圖技術 Freemaker Beet! 以及 Ja on 序列化技術。 Beet! Jackson將在第 章詳細介紹。
視圖技術
開源技術 Beeti 後端模板引擎,作爲國內流行的模板引擎之 ,具有簡單易學、功能性能強大、支持MVC 分離開發等特點。另外一部分詳細介紹 Jackson JSON序列化技術。 Jackson 不僅作爲 SpringMVC 中的 JSON 默認工具,也是 Spring Boot 分佈式技術中常採用的 JSON 序列 技術。
數據庫訪問
以 SQL 爲中心的數據庫訪問工具 Beet!SQL ,這是另外一款流行 Dao工具, SQL在markdown文件中管理,內置增刪改查、輕量級 ORM 功能、代碼生成、主從支持、跨多種數據庫等特點,適合那些更喜歡以 SQL 方式訪問數據庫的開發者。
Spring Data JPA
以面向對象爲中心的數據庫訪問工具 Spring Data JPA 本章由易到難,先從Spring Data 提供的功能入手,介紹如何完成數據庫簡單的增刪改查功能,然後引入 JPA 來解決應用中不可避免 複雜 SQL 查詢。
Spring Boot 配置
Spring Boot 高級特性 如常用的 Sprin Boot 的配置、日誌配置、應用配置的讀取、 Sprin Boot 自動裝配技術和 Sprin Boot Starter實現。
部署Spring Boot應用
如何部署 Spring Boot 應用,包括可執行 jar ,以及通過 war 部署到應用服務器上 應用經常面對多個環境,如開發、測試,還有準線上、線上,以及多個Demo 環境, SpringBoot 提供 Profile 來實現多環境部署。
Testing單元測試
單元測試概念 以及 Spring Boot 下的單元測試支持,包括 MVC 單元測試、Mock 測試,以及面向數據庫應用的測試方案
REST
RESTful 風格的架構,然後介紹 Spring Boot 如何集成以提供 REST 服務,使用 RestTemplate 調用 REST 服務 本章最後也重點介紹了 Swagger 3.0 技術,以方便 REST接口的交流、開發和測試。
MongoDB
MongoDB 的安裝和使用 然後介紹Spring Boot 如何集成 MongoDB, 同時還介紹瞭如何用 Mongo Template 訪問MongoDB
Redis
介紹 Redis 服務器的安裝和使用, Redis 常用的數據結構和操作命令。然後介紹 SpringBoot 如何集成 Redis ,如何使用 RedisTemplate 來操作 Redis 。本章後半部分深入介紹了 RedisTemplate提供的序列化機制。
Elasticsearch
Elasticsearch 的安裝和使用, Elasticsearch 既具有全文搜索功能,也能像MongoDB 那樣,具備NoSQL 的功能。本章介紹通過REST Spring Data 兩種方式訪問 Elasticsearch
Cache
Spring Boot Cache ,並重點介紹 Redis作爲分佈式緩存的實現。在此基礎上,改進了 Redis分佈式緩存,通過較少的代碼實現了一個具備一二 級緩存的技術方案
Spring Session
Spring Boot 應用水平擴展,需實現無會話狀態技術, Spring Session 提供了分佈式會話管理,本章介紹了 Nginx 作爲反向代理的內容,以及 Spring Session Redis 實現及其源碼分析。
Spring Boot 和 ZooKeeper
Spring Boot 應用水平擴展技術必然帶來分佈式協調要求, ZooKeeper是一個廣泛使用的分佈式協調器。本章介紹 ZooKeeper 的安裝和使用,對領導選取、分佈式鎖和服務註冊三個常用功能做了重點描述,並在 Spring Boot 應用中採用 Curator 來完成這 三個功能。
監控Spring Boot應用
Spring Boot 提供了內置監控功能,使得用戶通過 HTTP 請求就能知曉服務器的健康狀態,如數據源是否可用、 NoSQL 服務是否可用、最近的 HTTP 訪問的內容等監控信息。本章講述了線程械、內存、在線日誌、 HTTP 訪問、 RequestMapping 等常用監控功能。其中還講述通過 dump 線程技和內存來解決 Spring Boot 應用中的一些性能故障。
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 提高系統性能
總目錄
需要領取這份阿里p8架構師耗時一年整理的《Spring Boot 2精髓, 從構建小系統到架構分佈式大系統》的朋友,麻煩轉發小編這篇文章,然後私信我【學習】兩字即可。