Spring Boot企业级项目开发——入门到精通
定 价:68 元
- 作者:钟林森 罗剑 著
- 出版时间:2020/3/1
- ISBN:9787568041249
- 出 版 社:华中科技大学出版社
- 中图法分类:TP312.8
- 页码:380
- 纸张:胶版纸
- 版次:1
- 开本:16开
《Spring Boot企业级项目开发——入门到精通》站在初学者的角度,从零开始介绍Spring Boot的基本概念、核心特性以及在实际项目开发中的作用,带领读者一步一个脚印地学习并实战Spring Boot相关核心技术以及常见的分布式中间件;除此之外,书末还重点介绍并实战了企业中几乎处处可见的系统——权限管理平台,以此巩固加深前面篇章学习的相关技术。
值得一提的是,书中在介绍Spring Boot核心技术理论知识的同时也给出了相对应的实际项目案例,并编写了相应的代码进行实战实现,以此提高读者的开发水平和项目实战能力。
本书共10章,分为3篇。第1篇为Spring Boot基础篇,主要介绍了Spring Boot的基本概念、技术优势和几大核心特性,基于Spring Boot开发应用系统时需要准备的开发环境和开发工具,并以此作为基础搭建了入门级的Spring Boot单模块项目——Hello World 以此开启Spring Boot的学习之旅;之后则是趁热打铁,先后介绍并实战了如何在Spring Boot项目读取各种类型的配置文件、整合数据访问层ORM框架Spring Data JPA/Mybatis实现对数据库的操作、整合Spring MVC实现一个Java Web应用系统常见、常用的功能。
第2篇为Spring Boot核心技术与高级应用篇,全面介绍了目前在实际项目开发中Spring Boot常见、常用的核心技术及其对应的代码实战,其中主要包括文件的上传下载、各种类型邮件的发送、定时任务的实现、多种方式实现Excel的导入导出等核心技术;除此之外,还重点介绍了目前市面上两款主流的分布式中间件,包括缓存中间Redis、消息中间件RabbitMQ,介绍其基本概念、作用以及典型的应用场景,可以说为本书润色了不少。
第3篇为Spring Boot企业项目实战与总结篇,本篇的内容是对第1、2篇内容做的总结;重点介绍并实战了如何基于Spring Boot搭建一个实际的企业级项目——权限管理平台,带领读者从系统功能需求分析开始,到系统的整体架构设计、数据库设计,再到系统功能模块划分、前后端编码开发、测试、系统安全防御配置,后再到系统打包、部署、上线运行等一整套流程,有助于读者切身感受企业中真实项目的整个开发上线流程。
本书特别适合Spring Boot实践经验为零的开发人员阅读;有一定Java应用开发经验的工程师,阅读该书后可以了解Spring Boot在构建企业级应用过程中所提供的思路和解决方案,进一步了解Spring Boot底层的运行原理;IT培训机构的学员也可以通过该书系统地学习Spring Boot相关的核心技术。
(1)零基础入门Spring Boot,由浅入深、循序渐进地讲述Spring Boot核心技术。
(2)涵盖Spring Boot、Spring MVC、Mybatis、Shiro、Redis、RabbitMQ等技术。
(3)理论联系实际,以企业真实项目为应用场景实战相关技术,巩固知识,加深理解。
(4)书中所有知识点都配有代码实战,能让读者在理解理论的同时掌握开发技能。
(5)通过企业权限管理平台项目的全程实战,提高读者的项目开发水平和技术运用能力。
时光荏苒,岁月如梭,转眼间Java已经走过了二十多个年头,其发展之快亦不由得令人惊叹。如今它依旧蒸蒸日上,犹如华夏文明、传承之火一般生生不息,归根结底主要在于它的跨平台及实用等特性。
现如今已是微服务、分布式、IOT(物联网)、5G以及人工智能盛行的时代,Java在这个时代的软件开发领域占据了一席之地,特别是在微服务、分布式领域,其开源的微框架Spring Boot及Spring Cloud和Dubbo + ZooKeeper组合更是大大巩固了Java在相关领域的地位。
现在,开发者每每谈起Java,都离不开Spring Boot(Spring Cloud也是需要基于Spring Boot的),毫不客气地讲,目前企业大部分的Java应用系统是以Spring Boot作为主导的,配以Spring MVC、Mybatis以及中间件等各种组件组合完成整个系统的业务功能,可以说基本上取代了传统企业级应用系统中以Spring/JavaEE作为主导的开发模式。
本书站在初学者的角度,从Spring Boot诞生的缘由和基本概念开始讲起,一步一个脚印地介绍了Spring Boot的基本概念、开发优势和几大核心特性,带领各位读者一步步搭建第一个Spring Boot项目(以Spring Boot 2.×版本为主),并以此为基础介绍并实战Spring Boot相关的核心技术栈,如基础配置、数据层访问、Web应用开发以及其他核心技术等。
为了方便读者理解与掌握,笔者在介绍相应的技术点时,结合了企业中真实项目的应用案例,并配备了相应的代码,让读者在理解理论的同时也能掌握相应的开发技能。
笔者还介绍了目前主流的分布式中间件Redis和RabbitMQ,这可以说是为了提升读者的开发能力和就业竞争力而安排的。毕竟在如今IT行业竞争激烈、就业压力比较大的环境下,掌握一些分布式中间件,如缓存中间件Redis、消息中间件RabbitMQ可以给自己加分。
在本书的后介绍了企业里几乎随处可见的应用系统,即权限管理平台,它是前面篇章介绍的所有技术栈的大汇总,即将学到的技术应用到真实的系统、真实的项目开发中,才是真正的学以致用,而不是一味地停留在理论或者死记硬背的层面。
本书是一本以代码实战为主、以理论为辅的实战书籍,特别适合有一定基础的Java开发者及Spring Boot初学者学习,也适合高等院校和培训学校相关专业的师生作为教学参考书。
书中涉及的开发工具与软件版本如下:Intellij IDEA(2020)、Spring Boot(2.3.1.RELEASE)、Navicat Premium(11.0) 、JDK(1.8)、MySQL(5.7)、Redis(6.0)、RabbitMQ(3.8)、Linux Centos(7.×)、Postman(7.36.0)、Apache JMeter(5.1.1)。浏览器为Chrome 2020。大部分软件下载可以前往链接http://www.fightjava.com/web/index/resource.html ,即“程序员实战基地”的“资料中心”搜索下载。
钟林森 网名debug,Java高级后端工程师。目前在国内某互联网公司担任开发组长,负责公司Java应用后端开发,并参与公司IT基础架构体系的研发。CSDN博客专家,发表了大量的原创博客文字,博客访问量达百万人次。51CTO学院、CSDN学院及网易云课堂等知名教育平台讲师,教授学员上万人。追求技术,热爱分享,相信技术改变生活,技术成就梦想,一直在不断地学习和积累新知识,秉承修罗之道,花名阿修罗。
第1篇Spring Boot基础篇
第1章走进Spring Boot
1.1Spring Boot概述/003
1.1.1Spring Boot简介/003
1.1.2Spring Boot的优势/003
1.1.3Spring Boot的几大核心特性/004
1.2开发环境准备/004
1.2.1学习Spring Boot的前提与开发环境和工具/004
1.2.2基于Spring Initializr构建单模块项目/005
1.2.3写个Hello World吧/007
1.2.4单模块项目的优缺点/008
1.3Spring Boot多模块项目的搭建/009
1.3.1基于Maven构建多模块项目的规范/009
1.3.2基于Maven构建多模块项目的流程/009
1.3.3写个Hello World吧/014
1.4Spring Boot原理初步分析/015
1.4.1Spring Boot起步依赖/016
1.4.2Spring Boot自动装配/018
1.4.3Spring Boot启动执行流程/019
第2章Spring Boot基础配置详解
2.1Spring Boot单元测试与热加载/023
2.1.1单元测试简介与使用/023
2.1.2基于Devtools实现Spring Boot项目热加载/025
2.2Spring Boot全局配置文件详解/028
2.2.1Spring Boot两大默认配置文件介绍/028
2.2.2基于Environment读取配置文件/029
2.2.3基于@Value读取配置文件/030
2.2.4基于@ConfigurationProperties映射配置文件/031
2.3Spring Boot自定义配置详解/033
2.3.1基于@PropertySource加载配置文件/034
2.3.2基于@ImportResource加载XML配置文件/035
2.3.3基于@Configuration编写自定义配置类/037
2.4Spring Boot多环境配置详解/039
2.4.1为什么需要多环境配置?/039
2.4.2多环境配置实战/039
第3章Spring Boot数据访问层实战
3.1基于Spring JdbcTemplate搭建数据访问层/044
3.1.1数据访问层与Spring JdbcTemplate简介/044
3.1.2Spring Boot整合JdbcTemplate实现CRUD/044
3.1.3实战案例测试/048
3.2基于Mybatis搭建数据访问层/051
3.2.1Mybatis简介/052
3.2.2Spring Boot整合与配置Mybatis/052
3.2.3Spring Boot整合Mybatis实现CRUD/053
3.2.4实战案例测试与总结/057
3.3基于Spring Data JPA搭建数据访问层/060
3.3.1Spring Data JPA简介/061
3.3.2Spring Boot整合与配置Spring Data JPA/061
3.3.3Spring Boot整合Spring Data JPA实现CRUD/062
3.3.4实战案例测试/066
第4章Spring Boot实现Web常用功能
4.1整合Spring MVC实现Web常用功能/073
4.1.1Spring MVC简介与执行流程/073
4.1.2Java Web常见的模板引擎/075
4.1.3Thymeleaf配置与常见用法/077
4.2基于SSM实战用户信息管理/081
4.2.1数据库表设计/081
4.2.2业务逻辑处理层代码实战/083
4.2.3前端代码实战与测试一/086
4.2.4前端代码实战与测试二/089
第2篇Spring Boot核心技术与高级应用篇
第5章Spring Boot核心技术之上传下载、发送邮件与定时任务
5.1文件的上传与下载/094
5.1.1Lombok简介与实战/094
5.1.2文件上传与下载开发流程介绍/097
5.1.3基于Java IO实战实现文件上传/098
5.1.4基于Java IO实战实现文件下载/100
5.1.5基于Java NIO实战实现文件上传/103
5.1.6基于Java NIO实战实现文件下载/105
5.2发送邮件与定时任务实战/108
5.2.1基于Spring Boot整合与配置起步依赖/108
5.2.2基于Spring Boot实现简单文本邮件的发送/109
5.2.3基于Spring Boot实现富文本邮件的发送/112
5.2.4基于Spring Boot实现带附件邮件的发送/114
5.2.5定时任务与@Scheduled注解实战/117
5.2.6基于Java线程池高效执行多个定时任务/119
第6章Spring Boot核心技术之导入导出Excel
6.1典型应用场景介绍/125
6.2Excel导出实战/127
6.2.1Excel导出开发流程详解/127
6.2.2基于POI实现Excel的导出/128
6.2.3基于EasyExcel实现Excel的导出/132
6.3Excel导入实战/135
6.3.1Excel导入开发流程详解/135
1366.3.2基于POI实现Excel的导入/
6.3.3基于EasyExcel实现Excel的导入/139
6.3.4两种实现方式的对比/142
第7章缓存中间件Redis实战
7.1Redis简介与典型应用场景/145
7.2使用Redis/146
7.2.1快速安装Redis/146
7.2.2在Windows环境下使用Redis/147
7.2.3Spring Boot 2.0整合与配置Redis/150
7.2.4自定义注入与配置Redis模板操作组件Bean/151
7.2.5RedisTemplate实战/152
7.2.6StringRedisTemplate实战/154
7.3Redis常见数据结构/157
7.3.1字符串String/157
7.3.2列表List/158
7.3.3集合Set/160
7.3.4有序集合SortedSet/161
7.3.5哈希Hash存储/163
7.3.6Key失效与判断是否存在/165
7.4Redis消息订阅发布机制/167
7.4.1消息订阅发布机制简介/167
7.4.2Spring Boot整合Redis实现消息订阅发布/169
7.4.3接口功能测试/172
7.5Redis实战场景之缓存击穿/172
7.5.1什么是缓存击穿/173
7.5.2缓存击穿的解决方案/173
7.4.3代码实战之并发场景复现/174
7.5.4代码实战之分布式锁/180
7.6Redis实战场景之缓存穿透/184
7.6.1什么是缓存穿透/184
7.6.2缓存穿透的解决方案/185
7.6.3代码实战实现过程/186
7.6.4其他典型的问题/188
第8章消息中间件RabbitMQ实战
8.1RabbitMQ为何物/190
8.1.1RabbitMQ简介/190
8.1.2常见的应用场景/191
8.1.3安装RabbitMQ与Web管理界面介绍/196
8.1.4RabbitMQ入门代码实战/196
8.2Spring Boot整合RabbitMQ/201
8.2.1RabbitMQ专用组件介绍/201
8.2.2Spring Boot整合RabbitMQ/202
8.2.3自定义注入RabbitMQ操作组件/203
8.2.4发送接收消息实战/204
8.3基于RabbitMQ多种交换器的消息模型实战/208
8.3.1基于FanoutExchange的消息模型实战/208
8.3.2基于DirectExchange的消息模型实战/213
8.3.3基于TopicExchange的消息模型实战/216
8.4典型应用场景实战之异步发送邮件/221
8.4.1整体业务流程介绍与分析/221
8.4.2数据库表设计与Mybatis逆向工程/222
8.4.3基于DirectExchange的消息模型发送接收邮件/223
8.4.4业务场景功能接口测试/226
8.5RabbitMQ死信队列与延迟队列/227
8.5.1简介、作用与典型应用场景/227
8.5.2RabbitMQ死信队列之消息模型/229
8.5.3RabbitMQ死信队列代码实战/231
8.5.4RabbitMQ延迟队列之消息模型/235
8.5.5RabbitMQ延迟队列代码实战/238
8.5.6RabbitMQ死信队列与延迟队列对比/241
第3篇Spring Boot企业项目实战与总结篇
第9章企业项目开发实战之权限管理平台
9.1企业权限管理平台整体介绍/246
9.1.1权限管理简介与系统整体介绍/246
9.1.2数据库表设计与Mybatis逆向工程/249
9.1.3项目整体搭建流程介绍/255
9.1.4用户认证与授权框架Shiro简介/261
9.2用户登录功能实战/262
9.2.1整体开发流程介绍/263
9.2.2验证码组件配置与生成图形验证码/264
9.2.3开发Controller接收用户登录请求/266
9.2.4整合Shiro完成用户的登录功能/267
9.3部门与菜单模块开发实战/271
9.3.1相关数据库表介绍/272
9.3.2部门模块实战之列表数据获取/273
9.3.3基于treeGrid实现页面布局与列表展示/277
9.3.4新增与修改部门功能实战/279
9.3.5菜单模块实战之列表数据获取/286
9.3.6基于treeGrid实现页面布局与列表展示/290
9.3.7新增与修改菜单功能实战/292
9.4角色与用户模块开发实战/301
9.4.1相关数据库表介绍/301
9.4.2角色模块实战之列表数据获取/304
9.4.3新增与修改角色功能实战/308
9.4.4用户模块实战之列表数据获取/316
9.4.5新增与修改用户功能实战/320
9.4.6权限控制实战/329
9.5系统安全性防护、日志存储与部署上线/338
9.5.1系统安全性防护之XSS攻击和SQL注入防御/338
9.5.2日志存储的必要性与日志列表展示/344
9.5.3基于Spring AOP与自定义注解实现日志存储/347
9.5.4项目部署上线/352
后记 总结与回顾