科技
类型
7.3
豆瓣评分
可以朗读
语音朗读
523千字
字数
2018-08-01
发行日期
展开全部
主编推荐语
本书章节编排合理,深入浅出地阐述了Spring Boot 2.x的原理与应用,以及当今较为流行的微服务系统经常用到的技术及原理,内容通俗易懂。
内容简介
Spring框架是Java EE开发的强有力的工具和事实标准,而Spring Boot采用“约定优于配置”的原则简化了Spring的开发,从而成为业界流行的微服务开发框架,已经被越来越多的企业采用。2018年3月Spring Boot的版本正式从1.x升级到了2.x,为了适应新潮流,本书将对Spring Boot 2.x技术进行深入讲解。
本书从一个很简单的工程开始讲解Spring Boot企业级开发,其内容包含全注解下的Spring IoC和AOP、数据库编程(JDBC、JPA和MyBatis )、数据库事务、NoSQL(Redis和MongoDB)技术、Spring MVC、Spring 5新一代响应式框架WebFlux、互联网抢购业务、部署与监控、REST风格和Spring Cloud分布式开发等。
本书内容紧扣互联网企业的实际要求,从全注解下Spring知识讲到Spring Boot的企业级开发,对于Java开发人员,尤其是初学Spring Boot的人员和需要从传统Spring转向Spring Boot开发的技术人员,具有很高的参考价值。
目录
- 版权信息
- 内容提要
- 前言
- 资源与支持
- 第1章 Spring Boot来临
- 1.1 Spring的历史
- 1.2 注解还是XML
- 1.3 Spring Boot的优点
- 1.4 传统Spring MVC和Spring Boot的对比
- 第2章 聊聊开发环境搭建和基本开发
- 2.1 搭建Spring Boot开发环境
- 2.1.1 搭建Eclipse开发环境
- 2.1.2 搭建IntelliJ IDEA开发环境
- 2.2 Spring Boot的依赖和自动配置
- 2.3 使用自定义配置
- 2.4 开发自己的Spring Boot项目
- 第3章 全注解下的Spring IoC
- 3.1 IoC容器简介
- 3.2 装配你的Bean
- 3.2.1 通过扫描装配你的Bean
- 3.2.2 自定义第三方Bean
- 3.3 依赖注入
- 3.3.1 注解@Autowired
- 3.3.2 消除歧义性——@Primary和@Quelifier
- 3.3.3 带有参数的构造方法类的装配
- 3.4 生命周期
- 3.5 使用属性文件
- 3.6 条件装配Bean
- 3.7 Bean的作用域
- 3.8 使用@Profile
- 3.9 引入XML配置Bean
- 3.10 使用Spring EL
- 第4章 开始约定编程——Spring AOP
- 4.1 约定编程
- 4.1.1 约定
- 4.1.2 ProxyBean的实现
- 4.1.3 总结
- 4.2 AOP的概念
- 4.2.1 为什么使用AOP
- 4.2.2 AOP术语和流程
- 4.3 AOP开发详解
- 4.3.1 确定连接点
- 4.3.2 开发切面
- 4.3.3 切点定义
- 4.3.4 测试AOP
- 4.3.5 环绕通知
- 4.3.6 引入
- 4.3.7 通知获取参数
- 4.3.8 织入
- 4.4 多个切面
- 第5章 访问数据库
- 5.1 配置数据源
- 5.1.1 启动默认数据源
- 5.1.2 配置自定义数据源
- 5.2 使用JdbcTemplate操作数据库
- 5.3 使用JPA(Hibernate)操作数据
- 5.3.1 概述
- 5.3.2 开发JPA
- 5.4 整合MyBatis框架
- 5.4.1 MyBatis简介
- 5.4.2 MyBatis的配置
- 5.4.3 Spring Boot整合MyBatis
- 5.4.4 MyBatis的其他配置
- 第6章 聊聊数据库事务处理
- 6.1 JDBC的数据库事务
- 6.2 Spring声明式事务的使用
- 6.2.1 Spring声明式数据库事务约定
- 6.2.2 @Transactional的配置项
- 6.2.3 Spring事务管理器
- 6.2.4 测试数据库事务
- 6.3 隔离级别
- 6.3.1 数据库事务的知识
- 6.3.2 详解隔离级别
- 6.4 传播行为
- 6.4.1 传播行为的定义
- 6.4.2 测试传播行为
- 6.5 @Transactional自调用失效问题
- 第7章 使用性能利器——Redis
- 7.1 spring-data-redis项目简介
- 7.1.1 spring-data-redis项目的设计
- 7.1.2 RedisTemplate
- 7.1.3 Spring对Redis数据类型操作的封装
- 7.1.4 SessionCallback和RedisCallback接口
- 7.2 在Spring Boot中配置和使用Redis
- 7.2.1 在Spring Boot中配置Redis
- 7.2.2 操作Redis数据类型
- 7.3 Redis的一些特殊用法
- 7.3.1 使用Redis事务
- 7.3.2 使用Redis流水线
- 7.3.3 使用Redis发布订阅
- 7.3.4 使用Lua脚本
- 7.4 使用Spring缓存注解操作Redis
- 7.4.1 缓存管理器和缓存的启用
- 7.4.2 开发缓存注解
- 7.4.3 测试缓存注解
- 7.4.4 缓存注解自调用失效问题
- 7.4.5 缓存脏数据说明
- 7.4.6 自定义缓存管理器
- 第8章 文档数据库——MongoDB
- 8.1 配置MongoDB
- 8.2 使用MongoTemplate实例
- 8.2.1 搭建开发环境
- 8.2.2 使用MongoTemplate操作文档
- 8.3 使用JPA
- 8.3.1 基本用法
- 8.3.2 使用自定义查询
- 第9章 初识Spring MVC
- 9.1 Spring MVC框架的设计
- 9.2 Spring MVC流程
- 9.3 定制Spring MVC的初始化
- 9.4 Spring MVC实例
- 9.4.1 开发控制器
- 9.4.2 视图和视图渲染
- 第10章 深入Spring MVC开发
- 10.1 处理器映射
- 10.2 获取控制器参数
- 10.2.1 在无注解下获取参数
- 10.2.2 使用@RequestParam获取参数
- 10.2.3 传递数组
- 10.2.4 传递JSON
- 10.2.5 通过URL传递参数
- 10.2.6 获取格式化参数
- 10.3 自定义参数转换规则
- 10.3.1 处理器获取参数逻辑
- 10.3.2 一对一转换器(Converter)
- 10.3.3 GenericConverter集合和数组转换
- 10.4 数据验证
- 10.4.1 JSR-303验证
- 10.4.2 参数验证机制
- 10.5 数据模型
- 10.6 视图和视图解析器
- 10.6.1 视图设计
- 10.6.2 视图实例——导出PDF文件
- 10.7 文件上传
- 10.7.1 Spring MVC对文件上传的支持
- 10.7.2 开发文件上传功能
- 10.8 拦截器
- 10.8.1 拦截器的设计
- 10.8.2 开发拦截器
- 10.8.3 多个拦截器的顺序
- 10.9 国际化
- 10.9.1 国际化消息源
- 10.9.2 国际化解析器
- 10.9.3 国际化实例——SessionLocaleResolver
- 10.10 Spring MVC拾遗
- 10.10.1 @ResponseBody转换为JSON的秘密
- 10.10.2 重定向
- 10.10.3 操作会话对象
- 10.10.4 给控制器增加通知
- 10.10.5 获取请求头参数
- 第11章 构建REST风格网站
- 11.1 REST简述
- 11.1.1 REST名词解释
- 11.1.2 HTTP的动作
- 11.1.3 REST风格的一些误区
- 11.2 使用Spring MVC开发REST风格端点
- 11.2.1 Spring MVC整合REST
- 11.2.2 使用Spring开发REST风格的端点
- 11.2.3 使用@RestController
- 11.2.4 渲染结果
- 11.2.5 处理HTTP状态码、异常和响应头
- 11.3 客户端请求RestTemplate
- 11.3.1 使用RestTemplate请求后端
- 11.3.2 获取响应头、状态码和资源交换
- 第12章 安全——Spring Security
- 12.1 概述和简单安全认证
- 12.2 使用WebSecurityConfigurerAdapter自定义
- 12.3 自定义用户服务信息
- 12.3.1 使用内存签名服务
- 12.3.2 使用数据库定义用户认证服务
- 12.3.3 使用自定义用户认证服务
- 12.4 限制请求
- 12.4.1 配置请求路径访问权限
- 12.4.2 使用Spring表达式配置访问权限
- 12.4.3 强制使用HTTPS
- 12.4.4 防止跨站点请求伪造
- 12.5 用户认证功能
- 12.5.1 自定义登录页面
- 12.5.2 启用HTTP Basic认证
- 12.5.3 登出
- 第13章 学点Spring其他的技术
- 13.1 异步线程池
- 13.1.1 定义线程池和开启异步可用
- 13.1.2 异步实例
- 13.2 异步消息
- 13.2.1 JMS实例——ActiveMQ
- 13.2.2 使用AMQP——RabbitMQ
- 13.3 定时任务
- 13.4 WebSocket应用
- 13.4.1 开发简易的WebSocket服务
- 13.4.2 使用STOMP
- 第14章 Spring 5新框架——WebFlux
- 14.1 基础概念
- 14.1.1 响应式编程的宣言
- 14.1.2 Reactor模型
- 14.1.3 Spring WebFlux的概述
- 14.1.4 WebHandler接口和运行流程
- 14.2 通过Spring MVC方式开发WebFlux服务端
- 14.2.1 开发持久层
- 14.2.2 开发服务层
- 14.2.3 开发控制层
- 14.2.4 配置服务
- 14.2.5 客户端开发——WebClient
- 14.3 深入WebFlux服务端开发
- 14.3.1 类型转换器——Converter
- 14.3.2 验证器——Validator
- 14.3.3 访问静态资源
- 14.4 深入客户端开发
- 14.4.1 处理服务端错误和转换
- 14.4.2 设置请求头
- 14.5 使用路由函数方式开发WebFlux
- 14.5.1 开发处理器
- 14.5.2 开发请求路由
- 14.5.3 使用过滤器
- 第15章 实践一下——抢购商品
- 15.1 设计与开发
- 15.1.1 数据库表设计
- 15.1.2 使用MyBatis开发持久层
- 15.1.3 使用Spring开发业务层和控制层
- 15.1.4 测试和配置
- 15.2 高并发开发
- 15.2.1 超发现象
- 15.2.2 悲观锁
- 15.2.3 乐观锁
- 15.2.4 使用Redis处理高并发
- 第16章 部署、测试和监控
- 16.1 部署和运行
- 16.1.1 打包
- 16.1.2 运行项目
- 16.1.3 热部署
- 16.2 测试
- 16.2.1 构建测试类
- 16.2.2 使用随机端口和REST风格测试
- 16.2.3 Mock测试
- 16.3 Actuator监控端点
- 16.4 HTTP监控
- 16.4.1 查看敏感信息
- 16.4.2 shutdown端点
- 16.4.3 配置端点
- 16.4.4 自定义端点
- 16.4.5 健康指标项
- 16.5 JMX监控
- 第17章 分布式开发——Spring Cloud
- 17.1 服务治理和服务发现——Eureka
- 17.1.1 配置服务治理节点
- 17.1.2 服务发现
- 17.1.3 配置多个服务治理中心节点
- 17.2 微服务之间的调用
- 17.2.1 Ribbon客户端负载均衡
- 17.2.2 Feign声明式调用
- 17.3 断路器——Hystrix
- 17.3.1 使用降级服务
- 17.3.2 启用Hystrix仪表盘
- 17.4 路由网关——Zuul
- 17.4.1 构建Zuul网关
- 17.4.2 使用过滤器
- 17.5 使用@SpringCloudApplication
- 附录 Spring Boot知识点补充
- A.1 选择内嵌服务器
- A.2 修改商标
- A.3 深入Spring Boot自动装配
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。