Spring Boot 2精髓从构建小系统到架构分布式大系统

相关资料

[

作者集其近二十年来沉浸于技术架构的理论探索和实践经验,特别是近年来扎根于互联网金融机构对于开源技术架构的前沿研究实践,方成此心血之作。全书由易及难、自浅入深,为读者徐徐展开基于Spring Boot 2.0构建企业复杂应用的恢弘篇章。此书非常适合作为开发人员及架构师从新手到高手、自低阶至高阶的重要指导书和参考书。
— 东方资产信息科技部 贺锦

如何快速适应业务的变化发展一直是每个企业IT部门都面临的困扰,现在Spring Boot开发框架提供了*的、经过实践验证的技术解决方案。
本书作者,一位近二十年Java程序员和架构师,结合他高超的技术能力和丰富的实战经验,给读者精心阐述了 Spring Boot 2.0从初级快速构建系统到复杂的分布式系统开发的完整开发技术,本书不仅是开发人员不可多得的教科书,对非软件企业的IT人员也有极强的参考价值。
— 东方资产信息科技部 黄友平

过去几年,微服务架构在软件开发领域逐渐深入人心,Spring Boot在经历了快速演变之后,正在成为Java微服务开发的主流成熟框架。本书对Spring Boot的特性进行了全方位讲解,辅以大量翔实的案例,对分布式系统开发和应用提供了实战指导。书中还详细介绍了作者倾注了大量心血研发的开源软件Beetl和BeetlSQL,它们易于与Spring Boot集成,并已被众多大公司采纳使用。本书对于开发人员和架构师来说,都极具参考价值。
—《Kubernetes权威指南》作者/HPE高级顾问 龚正

和家智相识多年,他是我所认识的非职业足球运动员中球商*的,多年来他一直深耕于技术的*线,有着丰富的技术储备,是我非常钦佩的老大哥。
我们曾经在同一家公司的同一个项目集效力,都非常喜欢踢球,都出了书,不得不说很神奇。
这本书的内容非常丰富,也是作者多年潜心钻研的积累,这本书和我的书有一些联系,将Spring Boot进行了展开讲解,既有广度,也有深度,非常值得技术人员去学习。
—《微服务那些事儿》作者 纪晓峰

Spring Boot上手简单、功能丰富、易于扩展,可谓目前业界快速开发、快速生产的利器;然而,它的版本演进非常迅速,中文文档质量也参差不齐。本书由浅入深地讲解了Spring Boot,帮助读者系统理解Spring Boot。不仅如此,本书对2.0版本带来的新特性亦有非常详尽的描述,*值得一读。
—《Spring Cloud与Docker微服务架构实战》作者 周立

和家智相识有五年了,*早是因为模板引擎技术结识。家智是国内*的模板引擎专家,也是我认识的为数不多的Spring技术专家,他在这两方面都曾带给我不同角度的思考与印证,让我获益匪浅。本书是家智二十年技术钻研的一次厚积薄发,其中不仅从作者自身的经验详细讲述了Spring Boot框架,还引入了作者在模板引擎、ORM以及单元测试方面多年研发的开源作品,是Java程序员和架构师不可多得的参考资料。
— ACTFramework作者 罗格林

十多年前,Spring颠覆了传统的Java EE技术,迎来了Java企业级应用开发的春天,然而今天的Spring Boot却站在Spring巨人的肩膀上,让我们可以更高效地开发与交付。李家智是著名开源框架Beetl的作者,他写的《Spring Boot 2精髓:从构建小系统到架构分布式大系统》一定非常精彩。
— 特赞科技CTO 黄勇

*早熟知作者是从Beetl模板引擎开始的,当时正在寻找一个易用高效的模板引擎,Beetl几乎满足了我所有的需要。同时也十分敬佩作者在开源项目上的认真与负责。本书可以说是作者多年的心血所著,从Spring Boot的前世今生到使用扩展,都做了非常全面而易懂的概括,细节上也秉承了作者的细致与认真,讲解清晰并语言干练,既适合初学者系统化学习,也适合有经验的工程师作为参考。
— 开源工具集Hutool作者 路小磊

从事Web开发有些年头了,经过技术选型,Spring Boot走入了我们的视野,开箱即用,非常方便,也是目前很多大公司的选择之一。除了研究源码,如果有一本关于Spring Boot的指导书籍,既可以方便地解决开发中的问题,又可以帮助读者掌握Spring Boot,提高生产效率。
家智兄的这本书正是这样不可多得的优秀资源,本书是家智兄多年钻研的技术积累,书中详细讲解了Web开发的各个知识点,包含Web请求处理、ORM处理、Redis缓存、MongoDB、Elasticsearch、ZooKeeper、监控等方面的知识点。相信读者在仔细阅读并掌握本书的知识点后,可以极大地提高自身的Web开发水平,为读者的软件开发事业助一臂之力!
— 上海秦苍(买单侠)基础架构组架构师 刘志强

作者在Java EE体系内的多年实战经验使得本书的内容极具价值,书中清晰细致地讲解了快速构建Web应用系统的各个知识点,尤其是在后端模板引擎和ORM两个章节中,作者以自己的两款成熟开源产品Beetl和BeetlSQL为切入点进行讲解,剖析角度十分新颖并且有启发性。
通过这本书可以学习到关于Spring Boot框架的核心技术,从而掌握快速构建分布式Web应用的必备知识。无论你是Spring Boot新手,还是已经使用过Spring Boot的开发者,相信都可以从这本书中受益。
— XXL-JOB系列作者 许雪里

近两年来,随着微服务的兴起,Spring Boot突然流行起来了,越来越多的公司采用这一技术,其已经成为大多数Java微服务开发者的*开源框架。Spring Boot有非常显著的特点:配置简单,易于开发,可快速部署。本书结合丰富的实例,从Spring Boot的快速开发Web应用入手,逐渐深入地分析Spring Boot的高级特性,*后再重点介绍分布式架构的应用。通过深入浅出的阐述,让你从单体应用到分布式、微服务都有全方位的了解,是不可多得的一本好书,当然我认为*重要的还是作者耗费心血的开源项目Beetl和BeetlSQL。
— 《分布式数据库架构及企业实践——基于Mycat中间件》作者,开源中间件Mycat负责人 周继锋

Spring风靡多年,Spring Boot在*近几年微服务框架浪潮下更是出尽风头,本书作者由浅入深地把Spring Boot 2.0各种特性阐述得淋漓尽致,不管你是Spring Boot新手还是老司机都值得一读。Java Web后端也好,App后台也罢,甚至独立后台应用,等等,Spring Boot都是你不可或缺的高效率工具。
移动易项目团队深深的体会就是使用了Spring Boot可以节省50%以上的代码。
— 上海亿琪软件有限公司CEO,移动易开源项目负责人,华为开发者社区专家(HDE) 褚建琪

]

本书特色

[

Spring Boot是目前Spring技术体系中炙手可热的框架之一,既可用于构建业务复杂的企业应用系统,也可以开发高性能和高吞吐量的互联网应用。Spring Boot框架降低了Spring技术体系的使用门槛,简化了Spring应用的搭建和开发过程,提供了流行的第三方开源技术的自动集成。本书系统介绍了Spring Boot 2的主要技术,侧重于两个方面,一方面是极速开发一个Web应用系统,详细介绍Spring Boot框架、Spring MVC、视图技术、数据库访问技术,并且介绍多环境部署、自动装配、单元测试等高级特性;另一方面,当系统模块增加,性能和吞吐量要求增加时,如何平滑地用Spring Boot实现分布式架构,也会在本书后半部分介绍,包括使用Spring实现RESTful架构,在Spring Boot框架下使用Redis、MongoDB、ZooKeeper、Elasticsearch等流行技术,使用Spring Session实现系统水平扩展,使用Spring Cache提高系统性能。

]

内容简介

[

1.内容丰富,涵盖Spring Boot框架、Spring MVC、视图技术、数据库访问技术,并且介绍多环境部署、自动装配、单元测试等高级特性,包括使用Spring实现RESTful架构,在Spring Boot框架下使用Redis、MongoDB、ZooKeeper、Elasticsearch等流行技术,使用Spring Session实现系统水平扩展,使用Spring Cache提高系统性能。
2.面对系统模块增加,性能和吞吐量要求增加等场景时,介绍如何平滑地用Spring Boot实现分布式架构

]

作者简介

[

李家智,出生在贵州,毕业于成都西南民族大学。现在就职于东方金科公司,担任架构师,负责公司技术产品研发。从事软件开发近20年,致力于Java和Java EE系统的架构和实现,对一切技术充满好奇,以知行合一要求自己。除了本书,也是国内流行开源Beetl模板语言和Dao工具BeetlSQL的作者。

]

目录

第1章 Java EE简介1.1 Java EE1.1.1 Java EE架构1.1.2 Java EE的缺点1.2 Spring1.2.1 Spring IoC容器和AOP1.2.2 Spring的缺点1.3 Spring Boot1.4 Hello,Spring Boot1.4.1 创建一个Maven工程1.4.2 增加Web支持1.4.3 Hello Spring Boot示例1.4.4 使用热部署1.4.5 添加REST支持第2章 Spring Boot基础2.1 检查Java环境与安装Java2.2 安装和配置Maven2.2.1 Maven介绍2.2.2 安装Maven2.2.3 设置Maven2.2.4 使用IDE设置Maven2.2.5 Maven的常用命令2.3 Spring核心技术2.3.1 Spring的历史2.3.2 Spring容器介绍2.3.3 Spring AOP介绍第3章 MVC框架3.1 集成MVC框架3.1.1 引入依赖3.1.2 Web应用目录结构3.1.3 Java包名结构3.2 使用Controller3.3 URL映射到方法3.3.1 @RequestMapping3.3.2 URL路径匹配3.3.3 HTTP method匹配3.3.4 consumes和produces3.3.5 params和header匹配3.4 方法参数3.4.1 PathVariable3.4.2 Model&ModelAndView3.4.3 JavaBean接受HTTP参数3.4.4 @RequsetBody接受JSON3.4.5 MultipartFile3.4.6 @ModelAttribute3.4.7 @InitBinder3.5 验证框架3.5.1 JSR-3033.5.2 MVC中使用@Validated3.5.3 自定义校验3.6 WebMvcConfigurer3.6.1 拦截器3.6.2 跨域访问3.6.3 格式化3.6.4 注册Controller3.7 视图技术3.7.1 使用Freemarker3.7.2 使用Beetl3.7.3 使用Jackson3.7.4 Redirect和Forward3.8 通用错误处理3.9 @Service和@Transactional3.9.1 声明一个Service类3.9.2 事务管理3.10 curl命令第4章 视图技术4.1 Beetl模板引擎4.1.1 安装Beetl4.1.2 设置定界符号和占位符4.1.3 配置Beetl4.1.4 groupTemplate4.2 使用变量4.2.1 全局变量4.2.2 局部变量4.2.3 共享变量4.2.4 模板变量4.3 表达式4.3.1 计算表达式4.3.2 逻辑表达式4.4 控制语句4.4.1 循环语句4.4.2 条件语句4.4.3 try catch4.5 函数调用4.6 格式化函数4.7 直接调用Java4.8 标签函数4.9 HTML标签4.10 安全输出4.11 高级功能4.11.1 配置Beetl4.11.2 自定义函数4.11.3 自定义格式化函数4.11.4 自定义标签函数4.11.5 自定义HTML标签4.11.6 布局4.11.7 AJAX局部渲染4.12 脚本引擎4.13 JSON技术4.13.1 在Spring Boot中使用Jackson4.13.2 自定义ObjectMapper4.13.3 Jackson的三种使用方式4.13.4 Jackson树遍历4.13.5 对象绑定4.13.6 流式操作4.13.7 Jackson注解4.13.8 集合的反序列化4.14 MVC分离开发4.14.1 集成WebSimulate4.14.2 模拟JSON响应4.14.3 模拟模板渲染第5章 数据库访问5.1 配置数据源5.2 Spring JDBC Template5.2.1 查询5.2.2 修改5.2.3 JdbcTemplate增强5.3 BeetlSQL介绍5.3.1 BeetlSQL功能概览5.3.2 添加Maven依赖5.3.3 配置BeetlSQL5.3.4 SQLManager5.3.5 使用SQL文件5.3.6 Mapper5.3.7 使用实体5.4 SQLManager内置CRUD5.4.1 内置的插入API5.4.2 内置的更新(删除)API5.4.3 内置的查询API5.4.4 代码生成方法5.5 使用sqlId5.5.1 md文件命名5.5.2 md文件构成5.5.3 调用sqlId5.5.4 翻页查询5.5.5 TailBean5.5.6 ORM查询5.5.7 其他API5.5.8 Mapper详解5.6 BeetlSQL的其他功能5.6.1 常用函数和标签5.6.2 主键设置5.6.3 BeetlSQL注解5.6.4 NameConversion5.6.5 锁第6章 Spring Data JPA6.1 集成Spring Data JPA6.1.1 集成数据源6.1.2 配置JPA支持6.1.3 创建Entity6.1.4 简化Entity6.2 Repository6.2.1 CrudRepository6.2.2 PagingAndSortingRepository6.2.3 JpaRepository6.2.4 持久化Entity6.2.5 Sort6.2.6 Pageable和Page6.2.7 基于方法名字查询6.2.8 @Query查询6.2.9 使用JPA Query6.2.10 Example查询第7章 Spring Boot配置7.1 配置Spring Boot7.1.1 服务器配置7.1.2 使用其他Web服务器7.1.3 配置启动信息7.1.4 配置浏览器显示ico7.2 日志配置7.3 读取应用配置7.3.1 Environment7.3.2 @Value7.3.3 @ConfigurationProperties7.4 Spring Boot自动装配7.4.1 @Configuration和@Bean7.4.2 Bean条件装配7.4.3 Class条件装配7.4.4 Environment装配7.4.5 其他条件装配7.4.6 联合多个条件7.4.7 Condition接口7.4.8 制作Starter第8章 部署Spring Boot应用8.1 以jar文件运行8.2 以war方式部署8.3 多环境部署8.4 @Profile注解第9章 Testing单元测试9.1 JUnit介绍9.1.1 JUnit的相关概念9.1.2 JUnit测试9.1.3 Assert9.1.4 Suite9.2 Spring Boot单元测试9.2.1 测试范围依赖9.2.2 Spring Boot测试脚手架9.2.3 测试Service9.2.4 测试MVC9.2.5 完成MVC请求模拟9.2.6 比较MVC的返回结果9.2.7 JSON比较9.3 Mockito9.3.1 模拟对象9.3.2 模拟方法参数9.3.3 模拟方法返回值9.4 面向数据库应用的单元测试9.4.1 @Sql9.4.2 XLSUnit9.4.3 XLSUnit的基本用法第10章 REST10.1 REST简介10.1.1 REST风格的架构10.1.2 使用“api”作为上下文10.1.3 增加一个版本标识10.1.4 标识资源10.1.5 确定HTTP Method10.1.6 确定HTTP Status10.1.7 REST VS. WebService10.2 Spring Boot集成REST10.2.1 集成REST10.2.2 @RestController10.2.3 REST Client10.3 Swagger UI10.3.1 集成Swagger10.3.2 Swagger规范10.3.3 接口描述10.3.4 查询参数描述10.3.5 URI中的参数10.3.6 HTTP头参数10.3.7 表单参数10.3.8 文件上传参数10.3.9 整个请求体作为参数10.4 模拟REST服务第11章 MongoDB11.1 安装MongoDB11.2 使用shell11.2.1 指定数据库11.2.2 插入文档11.2.3 查询文档11.2.4 更新操作11.2.5 删除操作11.3 Spring Boot集成MongoDB11.4 增删改查11.4.1 增加API11.4.2 根据主键查询API11.4.3 查询API11.4.4 修改API11.4.5 删除API11.4.6 使用MongoDatabase11.4.7 打印日志第12章 Redis12.1 安装Redis12.2 使用redis-cli12.2.1 安全设置12.2.2 基本操作12.2.3 keys12.2.4 Redis List12.2.5 Redis Hash12.2.6 Set12.2.7 Pub/Sub12.3 Spring Boot集成Redis12.4 使用StringRedisTemplate12.4.1 opsFor12.4.2 绑定Key的操作12.4.3 RedisConnection12.4.4 Pub/Sub12.5 序列化策略12.5.1 默认序列化策略12.5.2 自定义序列化策略第13章 Elasticsearch13.1 Elasticsearch介绍13.1.1 安装Elasticsearch13.1.2 Elasticsearch的基本概念13.2 使用REST访问Elasticsearch13.2.1 添加文档13.2.2 根据主键查询13.2.3 根据主键更新13.2.4 根据主键删除13.2.5 搜索文档13.2.6 联合多个索引搜索13.3 使用RestTemplate访问ES13.3.1 创建Book13.3.2 使用RestTemplate获取搜索结果13.4 Spring Data Elastic13.4.1 安装Spring Data13.4.2 编写Entity13.4.3 编写Dao13.4.4 编写Controller第14章 Cache14.1 关于Cache14.1.1 Cache的组件和概念14.1.2 Cache的单体应用14.1.3 使用专有的Cache服务器14.1.4 使用一二级缓存服务器14.2 Spring Boot Cache14.3 注释驱动缓存14.3.1 @Cacheable14.3.2 Key生成器14.3.3 @CachePut14.3.4 @CacheEvict14.3.5 @Caching14.3.6 @CacheConfig14.4 使用Redis Cache14.4.1 集成Redis缓存14.4.2 禁止缓存14.4.3 定制缓存14.5 Redis缓存原理14.6 实现Redis两级缓存14.6.1 实现TwoLevelCacheManager14.6.2 创建RedisAndLocalCache14.6.3 缓存同步说明14.6.4 将代码组合在一起第15章 Spring Session15.1 水平扩展实现15.2 Nginx的安装和配置15.2.1 安装Nginx15.2.2 配置Nginx15.3 Spring Session15.3.1 Spring Session介绍15.3.2 使用Redis15.3.3 Nginx Redis第16章 Spring Boot和ZooKeeper16.1 ZooKeeper16.1.1 ZooKeeper的数据结构16.1.2 安装ZooKeeper16.1.3 ZooKeeper的基本命令16.1.4 领导选取演示16.1.5 分布式锁演示16.1.6 服务注册演示16.2 Spring Boot集成ZooKeeper16.2.1 集成Curator16.2.2 Curator API16.3 实现分布式锁16.4 服务注册16.4.1 通过ServiceDiscovery注册服务16.4.2 获取服务16.5 领导选取第17章 监控Spring Boot应用17.1 安装Acutator17.2 HTTP跟踪17.3 日志查看17.4 线程栈信息17.5 内存信息17.6 查看URL映射17.7 查

封面

Spring Boot 2精髓从构建小系统到架构分布式大系统

书名:Spring Boot 2精髓从构建小系统到架构分布式大系统

作者:李家智

页数:360

定价:¥79.0

出版社:电子工业出版社

出版日期:2017-10-01

ISBN:9787121328251

PDF电子书大小:48MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注