《深入实践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
结束语

时间: 2017-05-02

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

深入实践Spring Boot导读

Preface?前 言 Spring Boot作为Java编程语言的一个全新开发框架,在国内外才刚刚兴起,还未得到普及使用.相比于以往的一些开发框架,Spring Boot不但使用更加简单,而且功能更加丰富,性能更加稳定而健壮.使用Spring Boot开发框架,不仅能提高开发速度,增强生产效率,从某种意义上,可以说是解放了程序员的劳动,而且一种新技术的使用,更能增强系统的稳定性和扩展系统的性能指标.本书就是本着提高开发效率,增强系统性能,促进新技术的普及使用这一目的而写的. Spring Bo

《深入实践Spring Boot》一第一部分 Part 1基础应用开发

第一部分 Part 1 基础应用开发 第1章 Spring Boot入门 第2章 在Spring Boot中使用数据库 第3章 Spring Boot界面设计 第4章 提高数据库访问性能 第5章 Spring Boot安全设计 这一部分从搭建开发环境,简单入门,到使用数据库.界面设计.安全管理等一系列内容,介绍了使用Spring Boot框架进行基础应用开发的方法. 第1章介绍了开发环境的搭建和开发工具的选择和安装,并以一个非常简单的实例,演示了如何使用Spring Boot框架创建工程和发布应

深入实践Spring

深入实践Spring Boot 陈韶健 著 图书在版编目(CIP)数据 深入实践Spring Boot / 陈韶健著. -北京:机械工业出版社,2016.10 ISBN 978-7-111-55088-4 I. 深- II. 陈- III. JAVA语言-程序设计 IV. TP312 中国版本图书馆CIP数据核字(2016)第244089号 深入实践Spring Boot 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037) 责任编辑:李 艺 责任校对:殷 虹 印 刷

Docker with Spring Boot

前段时间在我厂卷爷的指导下将Docker在我的实际项目中落地,最近几个小demo都尽量熟悉docker的使用,希望通过这篇文章分享我截止目前的使用经验(如有不准确的表述,欢迎帮我指出).本文的主要内容是关于Java应用程序的docker化,首先简单介绍了docker和docker-compose,然后利用两个案例进行实践说明. 简单说说Docker,现在云计算领域火得一塌糊涂的就是它了吧.Docker的出现是为了解决PaaS的问题:运行环境与具体的语言版本.项目路径强关联,因此干脆利用lxc技术

RESTful by Spring Boot with MySQL

现在的潮流是前端承担越来越多的责任:MVC中的V和C,后端只需要负责提供数据M,但是后端有更重要的任务:高并发.提供各个维度的扩展能力(负载均衡.数据表切分.服务分离).更清晰的API设计.Spring Boot框架提供的机制便于工程师实现标准的RESTful接口,本文主要讨论如何编写Controller代码,另外还涉及了MySQL的数据库操作,之前我也写过一篇关于Mysql的文章link,但是这篇文章加上了CRUD的操作. 先回顾下之前的文章中我们用到的例子:图书信息管理系统,主要的领域对象有

Spring Boot 之 RESRful API 权限控制

一.为何用RESTful API 1.1 RESTful是什么? RESTful(Representational State Transfer)架构风格,是一个Web自身的架构风格,底层主要基于HTTP协议(ps:提出者就是HTTP协议的作者),是分布式应用架构的伟大实践理论.RESTful架构是无状态的,表现为请求-响应的形式,有别于基于Bower的SessionId不同.   1.2理解REST有五点: 1.资源  2.资源的表述  3.状态的转移  4.统一接口  5.超文本驱动 需要理

Spring Boot 使用 AOP 实现页面自适应

鉴于复杂页面自适应的难度,一般会做几套模板分别适应手机.平板.电脑等设备.使用 Spring Boot 开发单体应用时,一般会使用 Thymeleaf 模板,那么可以使用 AOP 技术来实现页面自适应. 如图所示,与普通项目相比而言,我们需要拦截用户的请求,获取 Request 中的 Header 的 User-Agent 属性,来判断用户的设备信息,然后修改 Controller 返回的页面路径,来适应设备的页面路径,从而达到页面自适应的效果. 代码实现 假设我们的静态资源目录如下 resou

Spring Boot Error Response

本文翻译自:Spring Boot Error Responses 在昨天的文章最后,我提到一个问题,就是我的例子对错误处理的设计不够.按照RESTful的设计,既然请求是借助HTTP的方法,那么返回信息也应该借助HTTP的状态码和其他信息.经过查找资料,决定将这篇文章中提到的例子实践一次,并用我的话总结下. 首先我们需要新建一个简单的Controller,代码如下: @RestController class GreetingController { @RequestMapping("/gre

Spring Boot:Data Rest Service

在文章RESTful by Spring Boot with MySQL通过在Controller中引入BookRepository来对外提供REST API.Spring Boot还可以通过spring-boot-starter-data-rest来对外提供REST API,可以免于编写对应的Controller,且具备分页和排序的功能. 实践 在pom文件中添加依赖项 <dependency> <groupId>org.springframework.boot</grou