《深入实践Spring Boot》一导读

Preface前  言

Spring Boot作为Java编程语言的一个全新开发框架,在国内外才刚刚兴起,还未得到普及使用。相比于以往的一些开发框架,Spring Boot不但使用更加简单,而且功能更加丰富,性能更加稳定而健壮。使用Spring Boot开发框架,不仅能提高开发速度,增强生产效率,从某种意义上,可以说是解放了程序员的劳动,而且一种新技术的使用,更能增强系统的稳定性和扩展系统的性能指标。本书就是本着提高开发效率,增强系统性能,促进新技术的普及使用这一目的而写的。
Spring Boot是在Spring框架基础上创建的一个全新框架,其设计目的是简化Spring应用的搭建和开发过程,它不但具有Spring的所有优秀特性,而且具有如下显著的特点:
为Spring开发提供更加简单的使用和快速开发的技巧。
具有开箱即用的默认配置功能,能根据项目依赖自动配置。
具有功能更加强大的服务体系,包括嵌入式服务、安全、性能指标、健康检查等。
绝对没有代码生成,可以不再需要XML配置,即可让应用更加轻巧和灵活。
Spring Boot对于一些第三方技术的使用,提供了非常完美的整合,使你在简单的使用中,不知不觉运用了非常高级和先进的技术。
虽然Spring Boot具有这么多优秀的特性,但它使用起来并不复杂,而且非常简单,所以不管是Java程序开发初学者,还是经验丰富的开发人员,使用Spring Boot都是一个理想的选择。
Spring Boot发展迅速,自从2014年4月发布了1.0.0版本,至今已经发布了1.4.0正式版。现在,Spring Boot正在不同的角落中悄然兴起,估计用不了多久,它将成为Java开发的又一个热潮,为众多Java开发者追捧。
本书将以一些非常切合生产实际的应用实例,带你一起使用Spring Boot框架,开始一段愉快的快速开发和探索之旅。

Contents 目  录

前 言
第一部分 基础应用开发
第1章 Spring Boot入门
1.1 配置开发环境
1.1.1 安装JDK
1.1.2 安装InterlliJ IDEA
1.1.3 安装Apache Maven
1.1.4 安装Git客户端
1.2 创建项目工程
1.2.1 使用Maven新建项目
1.2.2 使用Spring Initializr新建项目
1.3 使用Spring Boot
1.3.1 Maven依赖管理
1.3.2 一个简单的实例
1.4 运行与发布
1.4.1 在IDEA环境中运行
1.4.2 将应用打包发布
1.5 关于Spring Boot配置
1.6 小结
第2章 在Spring Boot中使用数据库
2.1 使用MySQL
2.1.1 MySQL依赖配置
2.1.2 实体建模
2.1.3 实体持久化
2.1.4 MySQL测试
2.2 使用Redis
2.2.1 Redis依赖配置
2.2.2 创建Redis服务类
2.2.3 Redis测试
2.3 使用MongoDB
2.3.1 MongoDB依赖配置
2.3.2 文档建模
2.3.3 文档持久化
2.3.4 MongoDB测试
2.4 使用Neo4j
2.4.1 Neo4j依赖配置
2.4.2 节点和关系实体建模
2.4.3 节点实体持久化
2.4.4 Neo4j测试
2.5 小结
第3章 Spring Boot界面设计
3.1 模型设计
3.1.1 节点实体建模
3.1.2 关系实体建模
3.1.3 分页查询设计
3.2 控制器设计
3.2.1 新建控制器
3.2.2 查看控制器
3.2.3 修改控制器
3.2.4 删除控制器
3.2.5 分页查询控制器
3.3 使用Thymeleaf模板
3.3.1 Thymeleaf配置
3.3.2 Thymeleaf功能简介
3.4 视图设计
3.4.1 列表视图设计
3.4.2 新建视图设计
3.4.3 查看视图设计
3.4.4 修改视图设计
3.4.5 删除视图设计
3.5 运行与发布
3.6 小结
第4章 提高数据库访问性能
4.1 使用Druid
4.1.1 配置Druid依赖
4.1.2 关于XML配置
4.1.3 Druid数据源配置
4.1.4 开启监控功能
4.2 扩展JPA功能
4.2.1 扩展JPA接口
4.2.2 装配自定义的扩展接口
4.2.3 使用扩展接口
4.3 使用Redis做缓存
4.3.1 使用Spring Cache注解
4.3.2 使用RedisTemplate
4.4 Web应用模块
4.4.1 引用数据管理模块
4.4.2 Web应用配置
4.5 运行与发布
4.6 小结
第5章 Spring Boot安全设计
5.1 依赖配置管理
5.2 安全策略配置
5.2.1 权限管理规则
5.2.2 登录成功处理器
5.2.3 防攻击策略
5.2.4 记住登录状态
5.3 登录认证设计
5.3.1 用户实体建模
5.3.2 用户身份验证
5.3.3 登录界面设计
5.3.4 验证码验证
5.4 权限管理设计
5.4.1 权限管理配置
5.4.2 权限管理过滤器
5.4.3 权限配置资源管理器
5.4.4 权限管理决断器
5.5 根据权限设置链接
5.6 运行与发布
5.6.1 系统初始化
5.6.2 系统运行与发布
5.7 小结
第二部分 分布式应用开发
第6章 Spring Boot SSO
6.1 模块化设计
6.2 登录认证模块
6.2.1 使用OAuth2
6.2.2 创建数字证书
6.2.3 认证服务端配置
6.3 安全配置模块
6.4 SSO客户端
6.4.1 客户端配置
6.4.2 登录登出设计
6.5 共享资源服务
6.5.1 提供共享资源接口
6.5.2 使用共享资源
6.5.3 查询登录用户的详细信息
6.6 运行与发布
6.7 小结
第7章 使用分布式文件系统
7.1 FastDFS安装
7.1.1 下载安装包
7.1.2 安装服务
7.1.3 Tracker Server配置
7.1.4 Storage Server配置
7.1.5 启动服务
7.1.6 客户端测试
7.2 FastFDS客户端
7.2.1 客户端配置
7.2.2 客户端服务类
7.3 使用定制方式上传图片
7.3.1 实体建模
7.3.2 上传图片
7.4 使用富文本编辑器上传图片
7.4.1 使用富文本编辑器
7.4.2 实现文件上传
7.5 使用本地文件库
7.5.1 本地文件库建模
7.5.2 文件保存方法
7.5.3 文件库管理
7.6 运行与发布
7.7 小结
第8章 云应用开发
8.1 使用配置管理
8.1.1 创建配置管理服务器
8.1.2 使用配置管理的客户端
8.1.3 实现在线更新
8.1.4 更新所有客户端的配置
8.2 使用发现服务
8.2.1 创建发现服务器
8.2.2 使用发现服务的客户端配置
8.2.3 发现服务器测试
8.3 使用动态路由和断路器
8.3.1 依赖配置
8.3.2 共享REST资源
8.3.3 通过路由访问REST资源
8.3.4 使用断路器功能
8.3.5 路由器和断路器测试
8.4 使用监控服务
8.4.1 创建监控服务器
8.4.2 监控服务器测试
8.5 运行与发布
8.6 小结
第9章 构建高性能的服务平台
9.1 使用Docker
9.1.1 Docker安装
9.1.2 Docker常用指令
9.1.3 使用Docker发布服务
9.2 创建和管理一个高性能的服务体系
9.2.1 安装docker-compose
9.2.2 docker-compose常用指令
9.2.3 使用docker-compose管理服务
9.3 使用Docker的其他负载均衡实施方法
9.3.1 使用Nginx与Docker构建负载均衡服务
9.3.2 阿里云的负载均衡设计实例
9.4 小结
第三部分 核心技术源代码分析
第10章 Spring Boot自动配置实现原理
10.1 Spring Boot主程序的功能
10.1.1 SpringApplication的run方法
10.1.2 创建应用上下文
10.1.3 自动加载
10.2 Spring Boot自动配置原理
10.2.1 自动配置的即插即用原理
10.2.2 自动配置的约定优先原理
10.3 提升应用的性能
10.3.1 更改加载配置的方式
10.3.2 将Tomcat换成Jetty
10.4 性能对照测试
10.5 小结
第11章 Spring Boot数据访问实现原理
11.1 连接数据源的源代码分析
11.1.1 数据源类型和驱动
11.1.2 支持的数据库种类
11.1.3 与数据库服务器建立连接
11.2 数据存取功能实现原理
11.2.1 实体建模源代码分析
11.2.2 持久化实现原理
11.3 扩展数据存取的功能
11.3.1 扩展JPA功能
11.3.2 扩展Neo4j功能
11.4 小结
第12章 微服务核心技术实现原理
12.1 配置管理实现原理
12.1.1 在线更新流程
12.1.2 更新消息的分发原理
12.2 发现服务源代码剖析
12.2.1 服务端的服务注册功能
12.2.2 客户端注册和提取服务列表
12.3 负载均衡源代码剖析
12.4 分布式消息实现原理演示
12.4.1 消息生产者
12.4.2 消息消费者
12.5 小结
附录A 安装Neo4j
附录B 安装MongoDB
附录C 安装Redis
附录D 安装RabbitMQ
结束语

时间: 2024-12-02 21:42:06

《深入实践Spring Boot》一导读的相关文章

《TCP/IP路由技术(第二卷)》一导读

前 言 TCP/IP路由技术(第二卷)自从出版了<TCP/IP路由技术(第一卷)>之后,虽然Cisco Press"CCIE职业发展系列"中增加了大量新书,而且CCIE计划本身也被扩展到多个专业领域,但IP路由协议仍然是所有准CCIE们的核心基础.因此,必须透彻地对其加以理解和掌握,否则基础不牢,大厦将倾. 我在<TCP/IP路由技术(第一卷)>的前言中曾经说过,"--随着互联网络规模和复杂性的不断增大,路由问题也随即变得庞大且错综复杂".由

《TCP/IP路由技术(第二卷)》一1.4 配置EGP

1.4 配置EGP TCP/IP路由技术(第二卷) 通过以下4个基本步骤即可完成路由器上的EGP配置. 第1步:利用命令autonomous-system指定路由器的AS. 第2步:利用命令router egp启动EGP进程并指定邻居的AS. 第3步:利用命令neighbor指定EGP邻居. 第4步:指定由EGP宣告的网络. 下面的第一个案例研究将详细解释前3个配置步骤,同时也给出了步骤4的多种实现方法. 1.4.1 案例研究:EGP末梢网关 图1-10给出了一台位于AS 65502的EGP末梢

《TCP/IP路由技术(第二卷)》一1.9 配置练习题

1.9 配置练习题 TCP/IP路由技术(第二卷) 本书附录E中提供了以下配置练习题的答案. (1)图1-14中的自治系统65531是一个核心AS,请在RTA和RTB上配置EGP,要求如下: 不要将AS内的数据链路宣告给任何外部邻居. RTA将连接在其S1接口上的网络宣告给RTB:另外,要求RTA和RTB之间不能宣告其他AS间链路. RTA和RTB向其外部邻居(除了从其他自治系统学习到的网络)宣告默认路由,而且这两个网关都不得将默认路由宣告给其内部邻居. (2)例1-26给出了图1-15中RTC

《TCP/IP路由技术(第二卷)》一1.1 EGP的起源

1.1 EGP的起源 TCP/IP路由技术(第二卷)在20世纪80年代早期,构成ARPANET(现代互联网的前身)的路由器(网关)设备上都运行了一种距离向量路由协议--GGP(Gateway-to-Gateway Protocol,网关到网关协议).但是随着ARPANET的不断发展,与当今许多负责管理日益增长的互联网络的网管员一样,ARPANET的架构师们也预见到了相同的问题:现在运行的路由协议没有很好的扩展性. Eric Rosen在RFC 827中阐述了以下扩展性问题. 由于所有的网关都要知

《TCP/IP路由技术(第二卷)》一1.6 附 注

1.6 附 注 TCP/IP路由技术(第二卷)1Eric Rosen,"RFC 827:外部网关协议(EGP)". 2Linda J. Seamonson和Eric C. Rosen"RFC 888:'末梢'外部网关协议". 3D.L. Mills,"RFC 904:外部网关协议正式规范". 4J. Rekhter,"RFC 1092:EGP和新NSFNET骨干网的策略路由".

《TCP/IP路由技术(第二卷)》一1.5 检测与排除EGP故障

1.5 检测与排除EGP故障 TCP/IP路由技术(第二卷)在1.3节中已经解释了EGP为何无法应用于复杂的AS间拓扑结构,而强制性的简单拓扑结构带来了一个意外的好处,那就是EGP的故障检测和排除变得非常简单. 与其他路由协议一样,检测与排除EGP故障的第一步工作就是查看路由表.如果所请求的路由缺失或路由表中存在一条非期望路由,通过查看路由表就可以检测到问题的根源.由于EGP的度量值几乎没有任何意义,因而与其他路由协议相比,利用路由表进行EGP故障的检测和排除工作可以得到大大简化. 需要注意的是

《TCP/IP路由技术(第二卷)》一第1章 外部网关协议

第1章 外部网关协议 TCP/IP路由技术(第二卷)本章将主要讨论以下主题. • EGP的起源:本节将讨论在RFC 827(1982)中定义的外部网关协议的发展历史. • EGP的操作:本节将讨论EGP的基本操作机制,重点是EGP拓扑结构.EGP功能及EGP消息格式. • EGP的不足:本节将探讨为什么EGP不再是一种可行的外部网关协议解决方案. • 配置EGP:本节将通过4个独立的案例研究--EGP末梢网关.EGP核心网关.间接邻居和默认路由,来说明不同类型的EGP配置方法. • 检测和排除E

《TCP/IP路由技术(第二卷)》一1.7 展 望

1.7 展 望 TCP/IP路由技术(第二卷)本章不但说明了AS间路由协议的发明驱动力,也解释了EGP难以胜任该角色的原因.第2章将简要描述EGP的替代协议--边界网关协议及其操作.表1-10汇总了本章用到的所有命令.

《TCP/IP路由技术(第一卷)(第二版)》一导读

前 言 TCP/IP路由技术(第一卷)(第二版)路由技术即使在最小的数据通信网络中也是基本的要素.在某种程度上,路由技术和路由器的配置是相当简单的.但是,当网络的规模越来越大,并且越来越复杂的时候,路由选择问题就变得比较突出和难以控制了.或许,有点不恰当地说,作为一名网络系统顾问,我应该感谢当前出现的大规模路由技术难题,这些问题给了我谋生的手段.假设没有它们,"你何以为生?"这句习语可能就会不幸地成为我每天生活词汇的一部分了. Cisco认证互联网专家(CCIE)在大型网络的设计.故障

《TCP/IP路由技术(第一卷)(第二版)》一第1章 TCP/IP回顾1.1 TCP/IP协议层

第1章 TCP/IP回顾 TCP/IP路由技术(第一卷)(第二版)本章包括以下主题: TCP/IP协议层: IP包头(IP Packet Header): IPv4地址: 地址解析协议(ARP): Internet控制消息协议(ICMP): 主机到主机层. 考虑到这本书的书名是<TCP/IP路由技术>,有必要从回顾TCP/IP的基本知识开始讲起,然后再讲述如何进行TCP/IP路由选择.如果读者正在准备Cisco认证互连网专家(Cisco Certified Internetwork Exper