深入实践Spring Boot

网站

更多书籍点击进入>> CiCi岛

下载

电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍

封页

封页

内容简介

本书以丰富的实例,介绍了如何使用SpringBoot开发框架进行基础应用和分布式应用等方面的开发,以及如何使用SpringBoot开发的应用构建高性能的服务平台,同时还对SpringBoot的一些核心代码进行了深入剖析。本书从基本的入门,到数据库的使用,以及界面设计、安全设计等领域都做了详细的介绍和探讨。并在分布式应用系统领域,以平台级应用系统的实例,介绍了如何创建和使用SSO管理系统、分布式文件系统,以及如何使用SpringCloud进行云应用方面的开发,和如何使用Docker发布和构建高可用的分布式系统服务平台。同时,对SpringBoot的程序加载、自动配置、数据管理,和SpringCloud的服务发现、负载均衡等核心源代码做了深入剖析,在认识其原理的前提中,更好地使用其相应的功能。

目 录

Contents 目  录前 言第一部分 基础应用开发第1章 Spring Boot入门 31.1 配置开发环境 31.1.1 安装JDK 31.1.2 安装InterlliJ IDEA 41.1.3 安装Apache Maven 41.1.4 安装Git客户端 51.2 创建项目工程 81.2.1 使用Maven新建项目 81.2.2 使用Spring Initializr新建项目 111.3 使用Spring Boot 141.3.1 Maven依赖管理 141.3.2 一个简单的实例 171.4 运行与发布 181.4.1 在IDEA环境中运行 181.4.2 将应用打包发布 191.5 关于Spring Boot配置 221.6 小结 23第2章 在Spring Boot中使用数据库 242.1 使用MySQL 242.1.1 MySQL依赖配置 252.1.2 实体建模 252.1.3 实体持久化 272.1.4 MySQL测试 292.2 使用Redis 332.2.1 Redis依赖配置 332.2.2 创建Redis服务类 342.2.3 Redis测试 362.3 使用MongoDB 382.3.1 MongoDB依赖配置 382.3.2 文档建模 392.3.3 文档持久化 402.3.4 MongoDB测试 412.4 使用Neo4j 432.4.1 Neo4j依赖配置 432.4.2 节点和关系实体建模 432.4.3 节点实体持久化 452.4.4 Neo4j测试 462.5 小结 49第3章 Spring Boot界面设计 503.1 模型设计 503.1.1 节点实体建模 513.1.2 关系实体建模 513.1.3 分页查询设计 523.2 控制器设计 533.2.1 新建控制器 533.2.2 查看控制器 533.2.3 修改控制器 543.2.4 删除控制器 553.2.5 分页查询控制器 553.3 使用Thymeleaf模板 563.3.1 Thymeleaf配置 563.3.2 Thymeleaf功能简介 573.4 视图设计 603.4.1 列表视图设计 603.4.2 新建视图设计 643.4.3 查看视图设计 683.4.4 修改视图设计 703.4.5 删除视图设计 723.5 运行与发布 733.6 小结 74第4章 提高数据库访问性能 754.1 使用Druid 754.1.1 配置Druid依赖 764.1.2 关于XML配置 764.1.3 Druid数据源配置 774.1.4 开启监控功能 784.2 扩展JPA功能 804.2.1 扩展JPA接口 814.2.2 装配自定义的扩展接口 834.2.3 使用扩展接口 854.3 使用Redis做缓存 864.3.1 使用Spring Cache注解 864.3.2 使用RedisTemplate 884.4 Web应用模块 914.4.1 引用数据管理模块 914.4.2 Web应用配置 924.5 运行与发布 944.6 小结 95第5章 Spring Boot安全设计 965.1 依赖配置管理 965.2 安全策略配置 975.2.1 权限管理规则 985.2.2 登录成功处理器 995.2.3 防攻击策略 1005.2.4 记住登录状态 1025.3 登录认证设计 1035.3.1 用户实体建模 1035.3.2 用户身份验证 1045.3.3 登录界面设计 1065.3.4 验证码验证 1085.4 权限管理设计 1095.4.1 权限管理配置 1095.4.2 权限管理过滤器 1105.4.3 权限配置资源管理器 1115.4.4 权限管理决断器 1125.5 根据权限设置链接 1135.6 运行与发布 1165.6.1 系统初始化 1165.6.2 系统运行与发布 1185.7 小结 119第二部分 分布式应用开发第6章 Spring Boot SSO 1236.1 模块化设计 1236.2 登录认证模块 1246.2.1 使用OAuth2 1246.2.2 创建数字证书 1256.2.3 认证服务端配置 1256.3 安全配置模块 1286.4 SSO客户端 1296.4.1 客户端配置 1296.4.2 登录登出设计 1306.5 共享资源服务 1326.5.1 提供共享资源接口 1336.5.2 使用共享资源 1346.5.3 查询登录用户的详细信息 1356.6 运行与发布 1366.7 小结 138第7章 使用分布式文件系统 1397.1 FastDFS安装 1397.1.1 下载安装包 1417.1.2 安装服务 1417.1.3 Tracker Server配置 1427.1.4 Storage Server配置 1457.1.5 启动服务 1487.1.6 客户端测试 1487.2 FastFDS客户端 1497.2.1 客户端配置 1507.2.2 客户端服务类 1507.3 使用定制方式上传图片 1517.3.1 实体建模 1517.3.2 上传图片 1527.4 使用富文本编辑器上传图片 1567.4.1 使用富文本编辑器 1567.4.2 实现文件上传 1577.5 使用本地文件库 1587.5.1 本地文件库建模 1597.5.2 文件保存方法 1597.5.3 文件库管理 1617.6 运行与发布 1637.7 小结 164第8章 云应用开发 1658.1 使用配置管理 1668.1.1 创建配置管理服务器 1678.1.2 使用配置管理的客户端 1688.1.3 实现在线更新 1718.1.4 更新所有客户端的配置 1728.2 使用发现服务 1748.2.1 创建发现服务器 1748.2.2 使用发现服务的客户端配置 1758.2.3 发现服务器测试 1758.3 使用动态路由和断路器 1768.3.1 依赖配置 1768.3.2 共享REST资源 1778.3.3 通过路由访问REST资源 1808.3.4 使用断路器功能 1828.3.5 路由器和断路器测试 1838.4 使用监控服务 1848.4.1 创建监控服务器 1848.

前 言

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框架,开始一段愉快的快速开发和探索之旅。 关于本书本书以丰富的实例,介绍了如何使用Spring Boot开发框架进行基础应用和分布式应用等方面的开发,并且介绍了如何使用Spring Boot开发的应用搭建一个高性能的服务平台,同时还对Spring Boot的一些核心功能的源代码进行了分析,从而加深对Spring Boot的理解。书中对从最基本的入门知识,到数据库的使用,以及界面设计、安全设计等领域都做了详细的介绍和探讨,并在分布式应用系统领域,以平台级应用系统的实例,介绍了如何创建和使用SSO管理系统、分布式文件系统,如何使用Spring Cloud进行云应用方面的开发,以及如何使用Docker发布和构建高可用的分布式系统服务平台。同时,对Spring Boot的程序加载、自动配置、数据管理,和Spring Cloud的配置管理、发现服务和负载均衡服务等核心功能的源代码做了深入剖析,这样在认识其实现原理的基础上,能更好地使用其相应的功能。 全书分为三个部分:第一部分(第1~5章)介绍基础应用方面的开发,包含简单入门知识、数据库使用、界面设计和安全设计等内容;第二部分(第6~9章)介绍了Spring Boot在分布式系统开发和云应用开发等方面的应用以及使用微服务构建高可用的服务平台;第三部分(第10~12章)对Spring Boot的程序加载、自动配置和数据管理的实现原理,以及Spring Cloud的配置管理、发现服务和负载均衡服务等实现原理进行了深入的剖析。 本书章节编排第1章为Spring Boot入门,介绍开发环境的搭建和开发工具的选择及安装配置,并使用一个非常简单的实例,说明如何轻易地使用Spring Boot开发框架。 第2章使用Spring Boot框架演示了以不同于以往的方式,以及如何轻易地使用数据库,并实际演示使用MySQL、MongoDB、Redis和Neo4j等数据库。 第3章使用Thymeleaf模板结合一些流行的JavaScript插件,介绍了使用Spring Boot进行界面设计的方法和技巧。 第4章对使用Spring Boot提高传统关系型数据库的性能方面做了一些探讨和尝试,并扩展了使用JPA资源库的功能。 第5章介绍了如何使用Spring Boot结合Spring Security进行安全设计,包括登录认证和角色管理、权限管理等内容。 第6章介绍如何使用Spring Security结合OAuth2进行SSO(Single Sign On)的设计,并演示如何在分布式应用系统中使用认证授权和安全管理的功能。 第7章介绍如何使用Spring Boot框架结合分布式文件系统FastDFS,并使用定制方式和富文本编辑器的方式演示了使用图片上传和建立本地图片库的方法。 第8章介绍云应用开发,包括配置管理、发现服务和监控服务的使用,以及如何使用动态路由和断路器的功能,创建高可用的微服务应用。 第9章介绍如何使用Docker引擎和docker-compose工具来发布应用和管理服务,以及如何构建一个高性能的服务平台和怎样使用Docker实施负载均衡。 第10章分析了Spring Boot的应用程序加载和自动配置原理,以及如何以改造加载配置的方式来提高应用的性能。 第11章分析了Spring Boot使用数据库的实现原理,并演示怎样利用一些技术手段提高和扩展访问数据库的功能。 第12章简要分析了微服务中配置管理、发现服务和负载均衡服务的实现原理和部分核心源代码,并使用一个实例说明配置管理中分布式消息的实现机制和原理。 附录A~附录D介绍了Neo4j、MongoDB、Redis、RabbitMQ等服务器的安装、配置和基本使用方法。 读者对象本书适于所有Java编程语言开发人员,所有对Spring Boot感兴趣并希望使用Spring Boot开发框架进行开发的人员,已经使用过Spring Boot框架但希望更好地使用Spring Boot的开发人员,以及系统设计师、架构师等设计人员。同时,本书对运维人员和DBA等也具有一定的参考价值。 实例代码本书的实例代码可以通过https://github.com/chenfromsz?tab=repositories查看和下载,推荐根据每章的提示使用IntelliJ IDEA通过GitHub检出各章的实例工程,这样可以保留原来工程的配置,并且能够直接使用。 反馈与勘误读者如有反馈意见可以通过https://github.com/chenfromsz/correct/issues发起新话题与作者进行交互,在这也可能会发布一些勘误信息,以便纠正不可避免的错误。 致谢首先,非常感谢华阳信通公司,虽然本书的编写过程大都在业余时间完成,但是公司强大的平台给本书的实例提供了更加方便的分享、验证和测试条件。同时在本书的编写过程中,也得到了我们的开发团队和众多朋友的大力支持和帮助,在此表示衷心的感谢!最后感谢华章公司的杨福川和李艺,他们在本书编辑的过程中,提出了一些宝贵而有益的建议,并为本书的出版做了许多工作。 由于时间仓促和水平有限,书中难免出现一些纰漏或不正确的地方,敬请大家批评指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值