Skip to content

souvc/deep-into-spring-boot

Repository files navigation

深入实践Spring Boot

前 言

技术维度

  第一部分(1~5章),针对性地介绍了Spring Boot入门、数据库的使用和访问性能提升、界面设计、安全设计等重要技术知识,以实用性为主,旨在帮助读者快速掌握Spring Boot开发方法和精髓,尽快融入生产实践中。   实践维度

  第二部分(6~9章),用生产环境中的实际案例讲解了如何使用Spring Boot开发分布式应用和云应用,以及如何用微服务构建高可用的服务平台,实践性极强。   原理维度

  第三部分(10~12章),从源码层面着重分析了Spring Boot的程序加载、自动配置、数据管理、Spring Cloud的配置管理、发现服务和负载均衡服务等核心功能的实现原理,旨在帮助读者能更深刻地理解Spring Boot开发,掌握其精髓。

第一部分 基础应用开发

第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

结束语

About

deep-into-spring-boot,深入实战SpringBoot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published