Spring Boot 2精髓:从构建小系统到架构分布式大系统
作 译 者:李家智
出版时间:2017-10 千 字 数:460
版 次:01-01 页 数:384
开 本:16开
装 帧:
I S B N :9787121328251
换 版:
所属分类:科技 >> 计算机 >> 网络与互联网
纸质书定价:¥79.0
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章 Java EE简介
1.1 Java EE
1.1.1 Java EE架构
1.1.2 Java EE的缺点
1.2 Spring
1.2.1 Spring IoC容器和AOP
1.2.2 Spring的缺点
1.3 Spring Boot
1.4 Hello,Spring Boot
1.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环境与安装Java
2.2 安装和配置Maven
2.2.1 Maven介绍
2.2.2 安装Maven
2.2.3 设置Maven
2.2.4 使用IDE设置Maven
2.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 使用Controller
3.3 URL映射到方法
3.3.1 @RequestMapping
3.3.2 URL路径匹配
3.3.3 HTTP method匹配
3.3.4 consumes和produces
3.3.5 params和header匹配
3.4 方法参数
3.4.1 PathVariable
3.4.2 Model&ModelAndView
3.4.3 JavaBean接受HTTP参数
3.4.4 @RequsetBody接受JSON
3.4.5 MultipartFile
3.4.6 @ModelAttribute
3.4.7 @InitBinder
3.5 验证框架
3.5.1 JSR-303
3.5.2 MVC中使用@Validated
3.5.3 自定义校验
3.6 WebMvcConfigurer
3.6.1 拦截器
3.6.2 跨域访问
3.6.3 格式化
3.6.4 注册Controller
3.7 视图技术
3.7.1 使用Freemarker
3.7.2 使用Beetl
3.7.3 使用Jackson
3.7.4 Redirect和Forward
3.8 通用错误处理
3.9 @Service和@Transactional
3.9.1 声明一个Service类
3.9.2 事务管理
3.10 curl命令
第4章 视图技术
4.1 Beetl模板引擎
4.1.1 安装Beetl
4.1.2 设置定界符号和占位符
4.1.3 配置Beetl
4.1.4 groupTemplate
4.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 catch
4.5 函数调用
4.6 格式化函数
4.7 直接调用Java
4.8 标签函数
4.9 HTML标签
4.10 安全输出
4.11 高级功能
4.11.1 配置Beetl
4.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中使用Jackson
4.13.2 自定义ObjectMapper
4.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 集成WebSimulate
4.14.2 模拟JSON响应
4.14.3 模拟模板渲染
第5章 数据库访问
5.1 配置数据源
5.2 Spring JDBC Template
5.2.1 查询
5.2.2 修改
5.2.3 JdbcTemplate增强
5.3 BeetlSQL介绍
5.3.1 BeetlSQL功能概览
5.3.2 添加Maven依赖
5.3.3 配置BeetlSQL
5.3.4 SQLManager
5.3.5 使用SQL文件
5.3.6 Mapper
5.3.7 使用实体
5.4 SQLManager内置CRUD
5.4.1 内置的插入API
5.4.2 内置的更新(删除)API
5.4.3 内置的查询API
5.4.4 代码生成方法
5.5 使用sqlId
5.5.1 md文件命名
5.5.2 md文件构成
5.5.3 调用sqlId
5.5.4 翻页查询
5.5.5 TailBean
5.5.6 ORM查询
5.5.7 其他API
5.5.8 Mapper详解
5.6 BeetlSQL的其他功能
5.6.1 常用函数和标签
5.6.2 主键设置
5.6.3 BeetlSQL注解
5.6.4 NameConversion
5.6.5 锁
第6章 Spring Data JPA
6.1 集成Spring Data JPA
6.1.1 集成数据源
6.1.2 配置JPA支持
6.1.3 创建Entity
6.1.4 简化Entity
6.2 Repository
6.2.1 CrudRepository
6.2.2 PagingAndSortingRepository
6.2.3 JpaRepository
6.2.4 持久化Entity
6.2.5 Sort
6.2.6 Pageable和Page
6.2.7 基于方法名字查询
6.2.8 @Query查询
6.2.9 使用JPA Query
6.2.10 Example查询
第7章 Spring Boot配置
7.1 配置Spring Boot
7.1.1 服务器配置
7.1.2 使用其他Web服务器
7.1.3 配置启动信息
7.1.4 配置浏览器显示ico
7.2 日志配置
7.3 读取应用配置
7.3.1 Environment
7.3.2 @Value
7.3.3 @ConfigurationProperties
7.4 Spring Boot自动装配
7.4.1 @Configuration和@Bean
7.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 Assert
9.1.4 Suite
9.2 Spring Boot单元测试
9.2.1 测试范围依赖
9.2.2 Spring Boot测试脚手架
9.2.3 测试Service
9.2.4 测试MVC
9.2.5 完成MVC请求模拟
9.2.6 比较MVC的返回结果
9.2.7 JSON比较
9.3 Mockito
9.3.1 模拟对象
9.3.2 模拟方法参数
9.3.3 模拟方法返回值
9.4 面向数据库应用的单元测试
9.4.1 @Sql
9.4.2 XLSUnit
9.4.3 XLSUnit的基本用法
第10章 REST
10.1 REST简介
10.1.1 REST风格的架构
10.1.2 使用“api”作为上下文
10.1.3 增加一个版本标识
10.1.4 标识资源
10.1.5 确定HTTP Method
10.1.6 确定HTTP Status
10.1.7 REST VS. WebService
10.2 Spring Boot集成REST
10.2.1 集成REST
10.2.2 @RestController
10.2.3 REST Client
10.3 Swagger UI
10.3.1 集成Swagger
10.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章 MongoDB
11.1 安装MongoDB
11.2 使用shell
11.2.1 指定数据库
11.2.2 插入文档
11.2.3 查询文档
11.2.4 更新操作
11.2.5 删除操作
11.3 Spring Boot集成MongoDB
11.4 增删改查
11.4.1 增加API
11.4.2 根据主键查询API
11.4.3 查询API
11.4.4 修改API
11.4.5 删除API
11.4.6 使用MongoDatabase
11.4.7 打印日志
第12章 Redis
12.1 安装Redis
12.2 使用redis-cli
12.2.1 安全设置
12.2.2 基本操作
12.2.3 keys
12.2.4 Redis List
12.2.5 Redis Hash
12.2.6 Set
12.2.7 Pub/Sub
12.3 Spring Boot集成Redis
12.4 使用StringRedisTemplate
12.4.1 opsFor
12.4.2 绑定Key的操作
12.4.3 RedisConnection
12.4.4 Pub/Sub
12.5 序列化策略
12.5.1 默认序列化策略
12.5.2 自定义序列化策略
第13章 Elasticsearch
13.1 Elasticsearch介绍
13.1.1 安装Elasticsearch
13.1.2 Elasticsearch的基本概念
13.2 使用REST访问Elasticsearch
13.2.1 添加文档
13.2.2 根据主键查询
13.2.3 根据主键更新
13.2.4 根据主键删除
13.2.5 搜索文档
13.2.6 联合多个索引搜索
13.3 使用RestTemplate访问ES
13.3.1 创建Book
13.3.2 使用RestTemplate获取搜索结果
13.4 Spring Data Elastic
13.4.1 安装Spring Data
13.4.2 编写Entity
13.4.3 编写Dao
13.4.4 编写Controller
第14章 Cache
14.1 关于Cache
14.1.1 Cache的组件和概念
14.1.2 Cache的单体应用
14.1.3 使用专有的Cache服务器
14.1.4 使用一二级缓存服务器
14.2 Spring Boot Cache
14.3 注释驱动缓存
14.3.1 @Cacheable
14.3.2 Key生成器
14.3.3 @CachePut
14.3.4 @CacheEvict
14.3.5 @Caching
14.3.6 @CacheConfig
14.4 使用Redis Cache
14.4.1 集成Redis缓存
14.4.2 禁止缓存
14.4.3 定制缓存
14.5 Redis缓存原理
14.6 实现Redis两级缓存
14.6.1 实现TwoLevelCacheManager
14.6.2 创建RedisAndLocalCache
14.6.3 缓存同步说明
14.6.4 将代码组合在一起
第15章 Spring Session
15.1 水平扩展实现
15.2 Nginx的安装和配置
15.2.1 安装Nginx
15.2.2 配置Nginx
15.3 Spring Session
15.3.1 Spring Session介绍
15.3.2 使用Redis
15.3.3 Nginx+Redis
第16章 Spring Boot和ZooKeeper
16.1 ZooKeeper
16.1.1 ZooKeeper的数据结构
16.1.2 安装ZooKeeper
16.1.3 ZooKeeper的基本命令
16.1.4 领导选取演示
16.1.5 分布式锁演示
16.1.6 服务注册演示
16.2 Spring Boot集成ZooKeeper
16.2.1 集成Curator
16.2.2 Curator API
16.3 实现分布式锁
16.4 服务注册
16.4.1 通过ServiceDiscovery注册服务
16.4.2 获取服务
16.5 领导选取
第17章 监控Spring Boot应用
17.1 安装Acutator
17.2 HTTP跟踪
17.3 日志查看
17.4 线程栈信息
17.5 内存信息
17.6 查看URL映射
17.7 查看Spring容器管理的Bean
17.8 其他监控
17.9 编写自己的监控信息
17.9.1 编写HealthIndicator
17.9.2 自定义监控
作为一名在技术道路上摸爬滚打多年的开发者,我一直在寻找一本能够真正引领我从基础概念走向复杂架构的进阶读物。偶然间翻阅了《Spring Boot 2精髓》,它恰好填补了我技术成长中的一个重要空白。这本书虽然篇幅不算特别宏大,但内容却相当扎实,逻辑清晰,仿佛一位经验丰富的导师,循序渐进地引导着我。 起初,我被书中对Spring Boot 2核心概念的讲解所吸引。它没有停留在API的简单罗列,而是深入剖析了Spring Boot 2的“约定优于配置”以及自动化配置的原理,让我对这个框架有了更深层次的理解。例如,在讲解Spring Boot Starter时,我清晰地看到了它是如何通过依赖传递和自动配置,极大地简化了项目的启动和配置过程,这种“背后发生了什么”的解释,比单纯的“怎么用”要来得更有价值。书中对于Spring Boot 2在Bean的加载、依赖注入、AOP的应用等方面都做了详尽的阐述,并且通过一些小而精的示例,将抽象的概念具象化,使得学习过程变得轻松而富有成效。我尤其喜欢它在讲解Actuator时的细致,不仅介绍了常用的监控端点,还解释了如何自定义端点,这为我排查线上问题提供了新的思路和工具。
评分让我感到惊喜的是,《Spring Boot 2精髓》在安全方面的探讨也是相当详尽且实用的。在如今网络安全日益重要的背景下,这本书能够提供全面的安全防护指导,这让我倍感安心。它不仅仅是简单地介绍Spring Security的基本配置,而是深入地讲解了如何实现用户认证、授权,以及如何防范常见的Web攻击,如CSRF、XSS等。 书中对OAuth 2.0 和 JWT (JSON Web Token) 的讲解,让我对如何在分布式系统中安全地进行身份验证和授权有了清晰的认识。它演示了如何构建一个安全的API网关,以及如何实现跨服务的安全校验。我尤其欣赏它在讲解Spring Boot Actuator安全配置时的细致,提醒开发者注意暴露不必要的敏感信息。此外,书中还触及了HTTPS的配置、日志安全以及敏感信息加密等方面的最佳实践,这使得我在设计和开发应用程序时,能够从始至终地考虑安全性,构建出更加健壮和可靠的系统。
评分坦白说,作为一名开发者,我常常在面对性能瓶颈时感到束手无策。但《Spring Boot 2精髓》这本书,在我看来,就像是一本“性能调优宝典”。它不仅仅停留在框架层面的讲解,更进一步地触及了底层的性能优化技巧。书中关于JVM内存管理、垃圾回收机制的讲解,以及如何通过Spring Boot Actuator的监控数据来识别性能瓶颈,都给了我极大的启发。 我尤其喜欢书中对Spring Boot 2 in Action的实用性指导。它通过实际案例,演示了如何对应用程序进行性能剖析,找出CPU、内存、I/O等方面的瓶颈,并提供了具体的优化建议。例如,在讲解数据库连接池时,它不仅介绍了如何配置最大最小连接数,还阐述了连接超时、空闲连接回收等参数对性能的影响。书中对于HTTP请求的优化,如请求压缩、连接复用等,也做了细致的说明。这些内容对我来说,是实实在在的“干货”,能够直接应用于我的日常开发工作中,显著提升了我开发应用程序的性能。
评分读到后面,我开始感受到这本书的野心和深度。《Spring Boot 2精髓》并没有止步于单个应用程序的开发,而是将目光投向了更广阔的分布式系统架构。书中关于微服务架构的设计原则、服务注册与发现(如Eureka、Consul)、服务调用(如RestTemplate、Feign)以及API网关(如Spring Cloud Gateway)的讲解,都让我耳目一新。我过去对这些概念虽有耳闻,但往往停留在理论层面,缺乏系统性的实践指导。这本书则用大量的篇幅,结合Spring Cloud相关的组件,一步步演示了如何构建一个健壮的微服务系统。 书中对服务治理的探讨尤为深刻,它不仅介绍了如何进行服务注册和发现,还深入讲解了服务熔断(如Hystrix)、服务降级以及分布式事务的处理。这些都是构建高可用、高并发分布式系统的关键要素,而这本书将其化繁为简,通过清晰的架构图和代码示例,让我能够清晰地理解它们的工作原理和实现方式。特别是关于分布式事务的章节,它详细介绍了Saga模式、TCC模式等几种常见的解决方案,并分析了各自的优缺点,这对于我目前正在参与的分布式项目,无疑是雪中送炭。我特别欣赏书中在讲解分布式追踪(如Sleuth)时的严谨,它能够帮助开发者有效地定位跨服务调用中的问题,这在复杂的微服务环境中是不可或缺的。
评分这本书最大的亮点之一,便是它对复杂技术问题的庖丁解牛般的分析能力。在涉及数据持久化方面,它不仅仅是讲解了Spring Data JPA的 CRUD 操作,更深入地探讨了与数据库连接池(如HikariCP)的优化、事务管理策略,以及在高并发场景下的数据一致性问题。它解释了Spring Boot 2如何通过自动配置,将这些繁琐的配置变得触手可及,但同时又保留了极大的灵活性,让开发者可以根据实际需求进行精细调优。 我特别关注书中关于消息队列(如Kafka、RabbitMQ)在分布式系统中的应用。它详细阐述了如何利用消息队列实现异步通信、削峰填谷,以及构建事件驱动架构。书中给出的示例,清晰地展示了消息的生产者、消费者以及相关的错误处理机制,这对于我过去在处理高吞吐量场景时遇到的瓶颈,提供了有效的解决方案。此外,书中对缓存策略(如Redis)的运用也做了深入的讲解,包括如何进行缓存穿透、缓存击穿、缓存雪崩的应对,以及如何合理地设计缓存失效策略,这些都极大地提升了我构建高性能系统的能力。
评分开始研究springboot,入门,觉得不错
评分正需要
评分正需要
评分书有明显折印,不是新的,将就看吧
评分正需要
评分正需要
评分书有明显折印,不是新的,将就看吧
评分书有明显折印,不是新的,将就看吧
评分流水账……有一定作用吧
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有