Java (面向对象编程语言)经过30多年的发展,产生了非常多的优秀框架。Spring (为解决企业应用程序开发的复杂性而创建的框架)曾是最受欢迎的Java框架之一, 但随着Node、Ruby、Groovy、PHP等脚本语言的蓬勃发展,使用Spring开发应用就显得繁琐了,因为它使用了大量的XML配置文件,配置繁琐,整合不易,开发和部署效率低下。这时急切需要一种新的能解决这些问题的快速开发框架,于是Pivotal Software公司在2013开始了Spring Boot的研发。
Spring Boot的设计初衷是解决Spring各版本配置工作过于繁重的问题,简化初始搭建流程、降低开发难度,使开发人员只需要专注应用程序的功能和业务逻辑实现,而不用在配置上花费太多时间。
Spring Boot 使用“默认大于配置”的理念,提供了很多已经集成好的方案,以便程序员在开发应用程序时能做到零配置或极简配置。同时,为了不失灵活性,它也支持自定义操作。
笔者身边听过好多这种情形: 一个初学者花了半个月时间,看了几本Spring编程书,掌握了最基本的理论知识,但在实际着手开发时,往往被拦截在初始环境配置上,可能花上几天时间也配置不好环境。
笔者认为这是欠缺理论结合实战的能力。在这里为大家安利一篇由12年经验开发大佬整理的SpringBoot实战派,相信看完后会让你的开发之路像搭积木一样简单~~~
内容简介
====
本篇分为四个部分:
-
入门篇
-
基础篇
-
进阶篇
-
项目实战篇
本篇还对比讲解了多种同类技术的使用和区别,大家可以根据自己的喜好进行选择。
下面列举说明。
-
开发模式:本篇讲解了历史悠久,但现在依然被广泛使用的分层应用开发模式MVC ( Model View Controller),还讲解了当下逐渐火热的响应式开发模式WebFlux。
-
ORM ( Object Relational Mapping,对象关系映射)框架:数据库的操作是程序开发中非常重要的一块,根据国内外用户的习惯,本篇对比讲解了全球最火的JPA和中国最流行的MyBatis。
-
安全框架:安全框架是必备内容。本书讲解了相关书籍、资料非常少,国内很少用,但是超级实用和好用的Spring Boot官方安全框架Spring Security。同时也比较全面地讲解了国内使用较多的Apache安全框架Shiro。
-
搜索引擎:搜索是各公司使用非常多的功能,但基本都是集成两大搜索框架——Elasticsearch和Solr。所以,本篇也非常详细地讲解了这两大搜索框架的原理和具体使用方法。
-
Redis:Redis 是大规模互联网应用必不可少的内存高速缓存数据库,所以本篇也专门用一章讲解了Redis的原理、概念和实际应用。
-
RabbitMQ:RabbitMQ是近年来使用非常广泛的消息中间件,本书深入地讲解了它的原理、概念和具体应用。
-
实战:本书以实例贯穿全书。每章都会有大大小小可以用于商业生产的实例。不仅如此,在最后两章讲解了多种技术的综合应用,而且也都是可以用于生产项目的实例。本书的各个章节的实例都力求实用,且实现简单、逻辑清晰,使读者看后能及时理解知识点,并实现对知识点的具体应用,收获满满。
第1章:进入Spring Boot世界
===================
-
1.1 认识Spring Boot
-
1.2 学习Spring Boot的建议
第1章讲述了Sping、Spring Boot 和Spring Cloud 之间的关系,还重点讲述了如何利用开发工具(如IDEA)来实现开发,如何通过API文档来寻找类对象方法,告诉我们在开发过程中如何学习、发现和解决问题,这在很多书中不曾有过。
第2章:准备开发环境
==========
-
2.1 搭建环境
-
2.2 熟悉Maven
第3章:使用开发工具
==========
-
3.1 安装开发工具IDEA及插件
-
3.2 实例1:用Spring Boo输出"Hello World"
-
3.3 在Ecipse中开发Spring Boot应用程序
-
3.4 了解Spring官方开发工具STS
-
3.5 必会的IDEA实用技能
-
3.6 比较****IDEA与Eclipse
-
3.7 如何使用本书源代码
第2、3章讲述了Java环境的搭建,以及开发工具的使用。尤其是第3章,很详细地讲述了各种开发工具(IDEA、Eclipse、 STS)的使用,以及插件的安装方法。对初学者来说,第3章值得细心体会,可以作为入门开发工具的教程来研读,其中的工具使用方法也是作者实践过的。
另外,作者还讲述了如何使用IDEA快捷键,大家可以按照书中所演示的步骤进行实际操作。工欲善其事,必先利其器。所以希望大家不要忽视本章内容。
第4章:Spring Boot基础
=================
-
4.1 了解Spring Boot
-
4.2 Spring Boot的常用注解
-
4.3 使用配置文件
-
4.4 了解Spring Boot的Starter
第4章讲述了Spring Boot的工程搭建,如何使用Spring Boot注解进行开发,并阐述了注解的基本概念和使用原理,同时读者可以跟着实例进行实际操作,体会注解式编程与配置文件的结合使用。
第5章:分层开发Web应用程序
===============
-
5.1 应用程序分层开发模式——MVC
-
5.2 使用视图技术Thymeleaf
-
5.3 使用控制器
-
5.4 理解模型
-
5.5 实例7:实现MVC模式的Web应用程序
-
5.6 验证数据
第5章详细讲述了Spring Boot的MVC模式以及原理,同时通过实例讲解了Thymeleaf模板引擎,读者可轻松上手。
第6章:响应式编程
=========
-
6.1 认识响应式编程
-
6.2 实例9:用注解式开发实现Hello World
-
6.3 实例10:用注解式开发实现数据的增加、删除、修改和查询
-
6.4 实例11:用响应式开发WebFlux
-
6.5 实例12:用WebFlux模式操作MongoDB数据库,实现数据的增加、删除、修改和查询功能
第6章让大家深入地理解响应式编程WebFlux的开发过程,以及如何连接操作MongoDB数据库,大家可以跟着实例来实践。古人云:叠叶与高节,俱从毫末生。所以,希望大家可以通过第4~6章的学习,扎实基础。
第7章:Spring Boot进阶
=================
-
7.1 面向切面编程AOP
-
7.2 认识IoC容器和Servlet容器
-
7.3 过滤器与监听器
-
7.4 自动配置
-
7.5 元注解
-
7.6 异常处理
-
7.7 单元测试
本章剖析了spring的两个特性:AOP和IoC
第8章:用ORM操作SQL数据库
================
-
8.1 认识Java的数据库连接模板JDBCTemplate
-
8.2 JPA——Java持久层API
-
8.3 认识JPA的接口
-
8.4 JPA的查询方式
-
8.5 实例27:用JPA开发文章管理模块
-
8.6 实现自动填充字段
-
8.7 掌握关系映射开发
-
8.8 认识MyBatis——Java数据持久层框架
-
8.9 实例31:用MyBatis实现数据的增加、删除、修改、查询和分页
-
8.10 比较JPA与MyBatis
本章讲述了如何使用ORM,以及其原理。
第9章:接口架构风格——RESTful
===================
-
9.1 REST——前后台间的通信方式
-
9.2 设计统一的RESTful风格的数据接口
-
9.3 实例32:为APP、PC、H5网页提供统一风格的API
-
9.4 实例33:用Swagger实现接口文档
-
9.5 用RestTemplate发起请求
本章讲述了接口的请求方法,以及接口的定义规范风格。
第10章:集成安全框架,实现安全认证和授权
=====================
-
10.1 Spring Security——Spring的安全框架
-
10.2 配置Spring Security
-
10.3 实例36:用Spring Security实现后台登录及权限认证功能
-
10.4 权限控制方式
-
10.5 认识JWT
-
10.6 实例39:用JWT技术为Spring Boot的API增加认证和授权保护
-
10.7 Shiro——Apache通用安全框架
-
10.8 实例40:用Shiro实现管理后台的动态权限功能
-
10.9 对比Spring Security与Shiro
本章讲解Spring Security
第11章:集成Redis,实现高并发
==================
-
11.1 认识Spring Cache
-
11.2 认识Redis
-
11.3 Redis的数据类型
-
11.4 用RedisTemplate操作Redis的5种数据类型
-
11.5 实例47:用Redis和MyBatis完成缓存数据的增加、删除、修改、查询功能
-
11.6 实例48:用Redis和UPA实现缓存文章和点击量
-
11.7 实例49:实现分布式Session
本章讲解Redis以及其原理和使用
第12章:集成RabbitMQ,实现系统间的数据交换
==========================
-
12.1 认识RabbitMQ
-
12.2 RabbitMQ的基本概念
-
12.3 RabbitMQ的六种工作模式
-
12.4 认识AmqpTemplate接口
-
12.5 在Spring Boot中集成RabbitMQ
-
12.6 在Spring Bo中F安现R0i的4种发送按收模式
-
12.7 实例54:实现消息队列延迟功能
第12章讲解了近年来使用非常广泛的消息中间件RabbitMQ
第13章:集成NoSQL数据库,实现搜索引擎
======================
-
13.1 Elasticsearch——搜索应用服务器
-
13.2 实例55:用ELK管理Spring Boot应用程序的日志
-
13.3 实例56:在Spring Boot中实现增加、删除、修改、 查询文档的功能
-
13.4 Elasticsearch查询
-
13.5 实例57:实现产品搜索引擎
-
13.6 Solr——搜索应用服务器
-
13.7 实例58:在Solr中实现数据的增加、删除、修改和查询
-
13.8 对比Elasticsearch和Solr
第 13 章讲解如何通过NoSQL 数据库去实现 Elasticsearch和Solr两大搜索框架效果,同时对搜索引擎做了详细的阐述,并通过实例实现数据的增加、删除、修改、查询操作。
第14章:开发企业级通用的后台系统
=================
-
14.1 用JPA实现实体间映射关系
-
14.2 用Spring Security实现动态授权(RBAC)功能
-
14.3 监控Spring Boot应用
第15章:实现一个类似 “京东”的电子商务商城