腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

前言

个人认为,springboot是随着Spring4.0出生的, 他的出现,目的是为了解决Spring这么多年来的发展导致本身的笨重、各类繁琐及与第三方框架整合的配置文件,对于码农或项目团队来说,是不希望见到的。因此springboot的出现是为了解决spring多年发展带来的弊端。

springboot的优点:

  1. 配置简单了
  2. springboot内嵌了servlet容器,降低了对环境的要求,机器有java运行环境,可以将项目打包成jar包,通过java命令 java -jar ****.jar 来执行。
  3. 快速整合第三方框架,无需配置文件
  4. 解决了Spring的弊端
  5. 最最最最最最大的优点是,代码少了、配置文件少了、不需要对第三方框架烦恼了、项目精简了,对整个团队的开发及维护来说,更大的节约了成本。

Spring 框架概述

如果你是 Java 开发人员,那么你多半听说过 Spring 框架,甚至可能在项目中使用过这一框架。Spring 框架主要起源于一个依赖注入容器,但它远不止于此。

Spring 之所以流行,是因为:

  • Spring 的依赖注入方法支持编写可测试的代码
  • 强大且易用的数据库事务管理能力
  • Spring 非常容易与其它 Java 框架集成,如 JPA/Hibernate ORM、Struts、JSF等。
  • 使用前沿的 MVC 框架构建 Web 应用

Spring 除了框架之外,还有很多姊妹项目可以助力构建满足现代业务需求的应用程序:

  • Spring Data:为访问关系型数据库或 NoSQL 数据库提供便利。
  • Spring Batch:强大的批处理框架。
  • Spring Security:为安全应用而生的强健的安全框架。
  • Spring Social:支持整合社区网络,比如 Facebook、Twitter、LinkedIn、Github 等。
  • Spring Integration:企业级集成模型的实现,使用轻量级的消息传递和声明式适配器与其他企业应用集成。

在本文中,我们将介绍:

系统介绍Spring Boot2的两个主要技术:

  1. 一方面是极速开发一个Web应用系统,详细介绍Spring Boot框架、Spring MVC、视图技术、数据库访问技术,并且介绍多环境部署、自动装配、单元测试等高级特性;
  2. 另一方面, 当系统模块增加,性能和吞吐量要求增加时,如何平滑地用Spring Boot实现分布式架构,包括使用Spring实现RESTful架构,在Spring Boot框架下使用Redis、MongoDB、 ZooKeeper、 Elasticsearch 等流行技术,使用Spring Session 实现系统水平扩展,使用Spring Cache提高系统性能。

内容

第1章Java EE简介

要应用SpringBoot技术,并不一定需要先从Spring技术开始,更不需要了解JavaEE。然而,稍微了解Java EE和Spring技术,对Spring Boot会有更深的理解。

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

扫描二维码关注公众号,回复: 11538900 查看本文章

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第2章Spring Boot基础

本章首先介绍如何安装Spring Boot应用的开发环境,也会详细介绍Maven工具的安装、配置和使用。最后会再次介绍Spring的历史、IoC 容器和Spring常用的注解。

需要免费领取这份腾讯T7架构师至今还在钻研的《Spring Boot 2从构建小系统到架构分布式大系统》的朋友,麻烦转发小编这篇文章,并关注我后私信【666】三字即可。

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第3章MVC框架

在Spring框架和Spring Boot中,最常用的技术就是MVC框架。试图讲清楚Spring MVC的内容,有可能需要一本书来讲述。本章将介绍MVC中最实用的部分,一些不常用的技术,或者过时的技术将不做介绍。

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第4章视图技术

本章介绍MVC中的后端视图技术,一种是后端模板引擎Beetl,用于渲染模板;另外一种是JSON序列化技术Jackson。

本章选择介绍Beet,Beetl 普遍应用在国内顶尖互联网公司、大中型企业,具有易使用和性能良好等特点,有非常好的国内口碑。

对于JSON的序列化和反序列化技术,也有很多工具可以采用,如国内的Fastison,国外的Jackson、Gson。 Jackson 是Spring Boot内置的,也是Spring Boot相关很多开源产品内置的序列化工具,与Beetl一样,同样易使用、性能良好,堪称JSON首选工具。

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第5章数据库访问

本章介绍Spring JDBC Template和BeetISQL两种数据库访问方式,JDBC Template是Spring自带的,在JDBC的基础上做了一定封装,而BeetISQL是笔者研发的,除了封装了JDBC操作,还带有SQL管理、跨数据库平台支持等企业功能。它们的共同点都是以SQL为核心。

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第6章Spring Data JPA

本章将介绍Spring Data JPA,它在JPA提供的简单语义上做了一定的封装,满足CRUD查询。同时,也会介绍SpringData,它为Spring框架对访问SQL和NoSQL数据库提供了一致的方式。

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第7章Spring Boot 配置

在SpringBoot出现之前,Spring项目会存在多个配置文件,比如web.xml,配置Spring的多个application-xxx.xml,xxx代表配置Spring 的某一个 功能,如application-datasource.xml、application-mvc.xml。应用自身也需要多个配置文件,还需要编写代码去读取这些配置文件的参数。现在Spring Boot简化了Spring 配置的管理和读取,只需要一个 application.properties,并提供了多种读取配置文件的方式。

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第8章部署Spring Boot应用

这一章讲述如何部署Spring Boot应用,Spring Boot可以以jar方式运行,也可以部署到支持Servlet3.0 或者支持较早的Servlet2.5的Web服务器上。

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第9章Testing单元测试

单元测试概念 以及 Spring Boot 下的单元测试支持,包括 MVC 单元测试、Mock 测试,以及面向数据库应用的测试方案

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第10章REST

本章介绍Restful 风格接口,并通过Spring Boot 来实现RESTful,最后会介绍Swagger工具,来增强RESTful的维护开发。

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第11章MongoDB

MongoDB 的安装和使用 然后介绍Spring Boot 如何集成 MongoDB, 同时还介绍了如何用 Mongo Template 访问MongoDB

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第12章Redis

介绍 Redis 服务器的安装和使用, Redis 常用的数据结构和操作命令。然后介绍 SpringBoot 如何集成 Redis ,如何使用 RedisTemplate 来操作 Redis 。本章后半部分深入介绍了 RedisTemplate提供的序列化机制。

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第13章Elasticsearch

Elasticsearch 的安装和使用, Elasticsearch 既具有全文搜索功能,也能像MongoDB 那样,具备NoSQL 的功能。本章介绍通过REST Spring Data 两种方式访问 Elasticsearch

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第14章Cache

Spring Boot Cache ,并重点介绍 Redis作为分布式缓存的实现。在此基础上,改进了 Redis分布式缓存,通过较少的代码实现了一个具备一二 级缓存的技术方案

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第15章Spring Sessi on

SpringBoot应用通常会部署在多个Web服务器上同时提供服务,这样做有很多好处:

  • 单个应用宕机不会停止服务,升级应用可以逐个升级而不必停止服务。
  • 提高了应用整体的吞吐量。

我们称这种部署方式为水平扩展,前端通过Nginx提供反向代理,会话管理可以通过SpringSession,使用Redis来存放Session。 部署Spring Boot应用到任意一-台 Web服务器上,从而提高了系统可靠性和可伸缩性。

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第16章Spring Boot和ZooKeeper

本章介绍 ZooKeeper 的安装和使用,对领导选取、分布式锁和服务注册三个常用功能做了重点描述,并在 Spring Boot 应用中采用 Curator 来完成这 三个功能。

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

第17章监控Spring Boot应用

Spring Boot 提供了内置监控功能,使得用户通过 HTTP 请求就能知晓服务器的健康状态,如数据源是否可用、 NoSQL 服务是否可用、最近的 HTTP 访问的内容等监控信息。本章讲述了线程、内存、在线日志、 HTTP 访问、 RequestMapping 等常用监控功能。其中还讲述通过 dump 线程技和内存来解决 Spring Boot 应用中的一些性能故障。

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

腾讯T7架构师至今还在钻研的SpringBoot从构建小系统到架构大系统

总结

需要领取这份腾讯T7大神一直在研究的这份——《Spring Boot 2精髓》的朋友,麻烦转发小编这篇文章,并关注我后私信【666】三字即可。

Spring风靡多年,Spring Boot 在最近几年微服务框架浪潮下更是出尽风头,本书作者由浅入深地把Spring Boot 2.0各种特性阐述得淋漓尽致,不管你是Spring Boot新手还是老司机都值得一读。Java Web后端也好,App 后台也罢,甚至独立后台应用,等等,Spring Boot都是你不可或缺的高效率工具。

或许正在观看此文的某些人已经使用过Spring Boot并节省了50%以上的代码。

猜你喜欢

转载自blog.csdn.net/javachengzi/article/details/107699554