写在前面
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章:实现一个类似 “京东”的电子商务商城
- 15.1 用Spring Security实现会员系统
- 15.2 整合会员系统(Web、APP多端多方式注册登录) +后台系统
- 15.3 实现购物系统
- 15.4 用Redis实现分布式秒杀系统
- 15.5 用RabbitMQ实现订单过期取消功能
- 15.6 实现结算和支付功能
作者精心准备了两个项目实例。这两章的知识也是我们在找工作时面试官常会问的问题。比如,做过几个项目?都会什么技术?所以,大家可以通过这两章理解实际的项目并将前面的内容融会贯通。纸上得来终觉浅,绝知此事要躬行。希望大家能够自己动手实践
特色价值
本篇把晦涩难懂的理论通过图文结合的方式讲解,把不便理解的名词用通俗化的文字进行讲解,将每个抽象的知识点用具化的实例进行展现。这使大家在阅读时既能读懂理论和概念,也能立即学会如何使用。
本篇讲解了在工作中如何根据应用场景和历史包袱进行各版本间的无缝升级、降级(公司项目相对于自己学习的版本可能存在老旧和不对应的情况,所以需要进行项目的升级或根据公司的历史项目进行老版本的维护)。
后记
Spring曾有过光辉岁月,它一路与时俱进,引领Java编程潮流至少10年。如今, Spring Boot的诞生,让我们再也不用被Spring的繁琐配置所束缚。Spring Boot是当前后端开发的极佳框架。它在如今纷繁的技术中尤为突出。
对于文中提到的这份SpringBoot实战派,因篇幅限制,笔者在这里无法完全展现,只是展现了各个章节介绍,大家可以窥见这本秘籍的价值所在。。想要获取完整无损版PDF深度学习的朋友,请转发+关注笔者,并私信回复【学习】即可哦~~~
喜欢文章请多多点赞评论转发,关注笔者,后续笔者会整理更丰富的学习内容,希望能够帮到大家更好的学习~~~