从构建小系统到架构分布式大系统,Spring Boot2 的精髓全在这里了
写在前面
Spring Boot是目前Spring技术体系中炙手可热的框架之一,既可用于构建业务复杂的企业应用系统,也可以开发高性能和高吞吐量的互联网应用。Spring Boot框架降低了Spring技术体系的使用门槛,简化了Spring应用的搭建和开发过程,提供了流行的第三方开源技术的自动集成。
今天给大家带来的一本Spring Boot2相关的电子书资源:《Spring Boot2精髓:从构建小系统到架构分布式大系统》。介绍了关于SpringBoot2、小系统、分布式、大系统方面的内容。非常建议各位开发人员都学习一波。
内容介绍
本书系统介绍了Spring Boot 2的主要技术,侧重于两个方面:
一方面是极速开发一个Web应用系统,详细介绍Spring Boot框架、Spring MVC、视图技术、数据库访问技术,并且介绍多环境部署、自动装配、单元测试等高级特性;
另一方面,当系统模块增加,性能和吞吐量要求增加时,如何平滑地用Spring Boot实现分布式架构,也会在本书后半部分介绍,包括使用Spring实现RESTful架构,在Spring Boot框架下使用Redis、MongoDB、ZooKeeper、Elasticsearch等流行技术,使用Spring Session实现系统水平扩展,使用Spring Cache提高系统性能。
由于需要保证文章简短干练,这里只介绍本书的大概内容。完整版《Spring Boot2精髓:从构建小系统到架构分布式大系统》电子书请转发+关注,然后添加VX(tkzl6666)获得免费领取方式。
本书特点
1.内容丰富,涵盖Spring Boot框架、Spring MVC、视图技术、数据库访问技术,并且介绍多环境部署、自动装配、单元测试等高级特性,包括使用Spring实现RESTful架构,在Spring Boot框架下使用Redis、MongoDB、ZooKeeper、Elasticsearch等流行技术,使用Spring Session实现系统水平扩展,使用Spring Cache提高系统性能。
2.面对系统模块增加,性能和吞吐量要求增加等场景时,介绍如何平滑地用Spring Boot实现分布式架构。
第一章:Java EE 简介
要应用SpringBoot技术,并不一定需要先从Spring技术开始,更不需要了解JavaEE。然而,稍微了解JavaEE和Spring技术,对SpringBoot会有更深的理解。
第二章:Spring Boot基础
本章首先介绍如何安装Spring Boot 应用的开发环境,如果你是新手,需要安装Java8和Maven3。Spring Boot应用中Maven是必备工具,因此这一-章也会详细介绍Maven工具的安装、配置和使用。最后会再次介绍Spring的历史、IoC容器和Spring常用的注解。如果你已经熟悉Java和Maven,可以直接跳过这一章。
第三章:MVC框架
在Spring框架和SpringBoot中,最常用的技术就是MVC框架。试图讲清楚SpringMVC的内容,有可能需要一本书来讲述。本章将介绍MVC中最实用的部分,一些不常用的技术或者过时的技术将不做介绍。
第四章:视图技术
本章介绍MVC中的后端视图技术,一种是后端模板引擎Beetl,用于渲染模板;另外一种是JSON序列化技术Jackson。
第五章:数据库访问
本章介绍Spring JDBC Template和BeetISQL两种数据库访问方式,JDBC Template是Spring自带的,在JDBC的基础上做了一定封装,而BeetISQL是笔者研发的,除了封装了JDBC操作,还带有SQL管理、跨数据库平台支持等企业功能。它们的共同点都是以SQL为核心。下一章要介绍的Spring Data,则是以对象为核心访问数据库的方式。
第六章:Spring Data JPA
第七章:Spring Boot配置
在Spring Boot出现之前,Spring 项目会存在多个配置文件,比如web.xml,配置Spring 的多个application-xx.xml, xxx 代表配置Spring的某一个功能, 如
application-datasource.xml.application-mvc.xml。应用自身也需要多个配置文件,还需要编写代码去读取这些配置文件的参数。现在Spring Boot简化了Spring 配置的管理和读取,只需要一个 application.properties,并提供了多种读取配置文件的方式。
第八章:部署Spring Boot应用
前面7章讲述了使用Spring Boot 极速开发一一个 Web应用系统,这一章我们讲述如何部署Spring Boot应用,Spring Boot可以以jar方式运行,也可以部署到支持Servlet3.0或者支持较早的Servlet2.5的Web服务器上。
第九章:Testing单元测试
前面一章对SpringBoot项目做了介绍,为了帮助开发人员编写高品质的程序,提升代码质量,以及对代码重构的支持,单元测试都发挥了极大的作用,本章将讲一-下Spring Boot单元测试。
第十章:REST
本章将介绍Restful 风格接口,并通过Spring Boot 来实现RESTful,最后会介绍Swagger工具,来增强RESTful的维护开发。
第十一章:MongDB
MongoDB由C++语言编写,是一个基于分布式文件存储的开源数据库系统,支持的数据结构为BSON格式,类似JSON的-一种格式,因此可以存储非常复杂的数据。
第十二章:Redis
Redis ( REmote DIctionary Server)是一个开源(BSD许可)、内存存储的数据结构服务器,可用作数据库来存储Key-Value数据,它支持字符串、哈希表、列表、集合、有序集合、位图、地理空间信息等数据类型,同时也可以作为高速缓存和消息队列代理。
第十三章:Elasticsear ch
Elasticsearch,简称ES。是一个全文搜索服务器,也可以作为NoSQL数据库,存储任意格式的文档和数据,同时,也可以做大数据的分析,是一个跨界开源产品。
第十四章:Cache
本章介绍Spring Boot应用系统中Cache的一般概念, Spring Cache对Cache进行了抽象,提供了@Cacheable、@CachePut、 @CacheEvict 等注解。Spring Boot应用基于Spring Cache,既提供了基于内存实现的缓存管理器,可以用于单体应用系统,也集成了Redis、EhCache 等缓存服务器,可用于大型系统或者分布式系统。
第十五章:Spring Session
SpringBoot应用通常会部署在多个Web服务器上同时提供服务,这样做有很多好处:
单个应用宕机不会停止服务,升级应用可以逐个升级而不必停止服务。
提高了应用整体的吞吐量。
我们称这种部署方式为水平扩展,前端通过Nginx提供反向代理,会话管理可以通过SpringSession,使用Redis 来存放Session。部署Spring Boot应用到任意-一台Web服务器上,从而提高了系统可靠性和可伸缩性。
第十六章:Spring Boot 和 Zookeeper
前面一章使用Spring Session实现了Spring Boot水平扩展,每个Spring Boot应用与其他水平扩展的SpringBoot.-样,都能处理用户请求。如果宕机,Nginx会将请求反向代理到其他运行的SpringBoot应用上,如果系统需要增加吞吐量,只需要再启动更多的SpringBoot应用即可。
第十七章:监控Spring Boot应用
Java EE规范中由JMX来监控管理应用,Spring Boot也提供了Actuator 功能来完成类似的监控,通过HTTP、JMX,甚至是远程脚本(SSH)来查看Spring Boot应用的配置、各种指标、健康程度等。
由于需要保证文章简短干练,这里只介绍本书的大概内容。完整版《Spring Boot2精髓:从构建小系统到架构分布式大系统》电子书请转发+关注
评论 (1 条评论)