Spring Boot开发实战

SpringBoot是一门综合性的实战型应用技术框架,要求开发者在已经完全掌握Spring、SSM开发框架整合基础之上实现的进一步的简化开发模型,不仅简单易学,同时也属于当前企业应用开发中最为使用的技术。

在本次的课程讲解中为读者详细的分析了SpringBoot的运行机制,并且围绕着SpringBoot所提供的四个核心组件(AutoConfig、Starter、Actuator、SpringBootCLI)进行了详细的拆解,基于已经掌握的Spring/SpringMVC/MyBatis/MyBatisPlus/JPA/Shiro进行了整合处理,同时又深入的讲解了SpringBoot所提供的异步开发的技术实现。

本书附有配套视频、源代码、习题、教学课件等资源。为了帮助读者更好地学习本书,作者还提供了在线答疑。

本书适合作为高等教育本、专科院校计算机相关专业的教材,也可供广大计算机编程爱好者自学使用。

''

我们在用心做事,做最好的教育,写最好的图书。

沐言科技教学总监 —— 李兴华

不知不觉间又过了匆匆数月,而这本图书也正好是我个人所出版的第20本技术图书,从我确定要写这本图书开始就进入了不眠不休的创作过程,每一个字每一张图都力争原创,写一本好书是每一位有良心的作者的共同心声,而每一本好书的背后所体现的就是我们从业者的职业态度以及作为一名职业讲师所拥有的教育责任心。

技术行业每天唯一不变就是每天都在改变,而技术的每一次革新都在不断催促着行业的发展。而作为一名技术爱好者以及一线技术讲师,我们每天的工作就是在不断的学习新的技术理论与熟悉新的技术工具,但是依然也有很多不理解我们这类技术讲师工作的外行人,总是在不断的嘲笑我们不思进取。我承认这个行业有很多的摸鱼者,但是并不是所有的人都喜欢安于现状,我每天唯一想做的事情就是如何超越自己,每天进步一点点是我人生恪守的信条,而最让我恐慌的就是我自己的原地踏步与不思进取。

当今早已不是那个学会一门手艺吃一辈子的年代了,每位技术从业者除了要熟练的掌握基础理论之外,还需要不断的学习,并且不断的尝试突破创新。我从2008年开始编写第一本Java图书开始所度过的每一天的写作生涯,都在不断的尝试写作风格的变更,因为我想要出版一系列真正的好书,让所有读者真正可以读懂,工作中用得上的好书,而不是买来后扔在墙角慢慢让其发霉变质。

最近的十年里我一直都在强调教育的本质是付出是分享,教育不是一个赚钱的工具,真正的老一辈教育家都会无偿的为自己的教育事业默默奉献。然而当今社会上培训机构的各种乱象层出不穷,也使很多的新的从业者丢失了这份责任,而此刻的我就希望通过自己的努力让教育回归它本身的面目,让互联网教育也回归它最初的样子,我相信在广大技术爱好者的共同努力下,这一天一定会来到。

说起微服务我是从2016年的时候开始接触的,而当时也是国内微服务刚刚兴起的时候,于是我在2017年01月份完成了我的第一本微服务的技术图书《Java微服务架构实战》,但遗憾的是由于各种无法控制的外部原因,此书一直到2020年的01月份才正式出版,而大家知道此时的SpringBoot版本早已经更新到了SpringBoot 2.x,也就是说我的书还没到大家手里就已经彻底过时了,而这也成为了我整个出书史上最为糟心的一幕。为了弥补心中的这份遗憾,我才决定在2021年的时候重写一本新的SpringBoot图书,这也是本书编写最重要的一个原因,而另外的一个原因就在于市面上的很多图书大多千篇一律缺少“图书的灵魂”,于是我要写一本全新的,与众不同的SpringBoot图书,为的是将真正且系统的SpringBoot技术完整的传播,同时也希望可以将自己的这份的原创精神传递给更多的技术爱好者。

本书是一本纯粹性的讲解SpringBoot技术的图书,书中的章节组成来自于SpringBoot官方学习文档,同时又追加了我自己对技术的理解以及读者认知模式的思考而形成的一本原创图书,该图书的主要特点如下:

1. 基于Gradle构建工具实现开发讲解,符合未来技术的发展需要;

2. 项目驱动型的讲解模式,让读者学习完每一节课程后都能有所收获,都可以将其应用到技术开发之中;

3. 为避免晦涩的技术概念所带来的学习困难,本书绘制了大量的图形进行概念解释,进一步简化学习难度;

4. SpringBoot项目结构全面拆解,深入分析SpringBoot的运行机制、实现原理与核心源代码解析;

5. 大量的服务整合应用,例如:SpringSecurity、Shiro、MyBatis/MyBatisPlus、SpringDataJPA、JWT、Druid、Atomikos、FastJSON、itextpdf 、EasyPOI、Undertow、Logback、Prometheus、Grafana、WebService、WebSocket、RSocket、WebFlux、Redis、ShedLock、Thymeleaf等,全面打造航母级的SpringBoot应用实战;

6. 围绕前后端分离的开发模式讲解SpringBoot应用,并结合Vue.JS实现代码整合与项目实战;

7. 完整的教学体系,前后课程以及技术概念无缝对接,打造了一套循序渐进的适合于国人传统的学习模式;

8. 配备全套教学视频,打开手机微信可以直接扫码学习;

9. 丰富的课程离线资源包:4K教学视频、课程代码、教学PPT、软件工具包;

众所周知Java技术的学习体系庞大,所涉及到的基础知识较多,如图所示,而所有的学习者在正式接触到Java项目开发前都必须经历痛苦且漫长的基础知识理论学习才可以走向Java开发的岗位。而这本SpringBoot一书是Java整体课程学习的一个重要节点,是由理论基础学习到项目实战的重要转折点,学习者只有透彻的掌握了SpringBoot才可以向后继续学习SpringCloud,从而慢慢理解分布式开发架构,才能逐步走入Java架构师的技术岗位,获取较高的收入报酬。

虽然SpringBoot是现在Java开发中主要使用的开发框架,但是如果要想彻底学懂以及完全使用SpringBoot开发框架进行项目开发,还需要有一系列的技术前提。首先需要熟练的掌握《JavaWEB就业编程实战》一书中的全部基础技术,并深刻理解MVC框架设计与MVC项目实战,而后才可以轻松的理解Spring以及SpringMVC开发框架的实现原理,这样才可以为后续的SSM(Spring + SpringMVC + MyBatis)框架整合开发打下基础。而在《SSM就业编程实战》之中不仅仅讲解了SSM开发框架的整合,实际上还包含有基于Shiro的SSM(Spring + Shiro + MyBatis)以及JPA与SpringDataJPA的应用,因为这些技术最终全部都要求在SpringBoot中进行整合,如图所示,而考虑到知识学习层次的需要,在本系列的图书中是将每一部分的知识进行有效的分割,以保证大家学习层次以及知识的延续性。

SpringBoot开发相比较于传统的SSM框架整合开发最大的特点在于其可以更加方便实现基于Restful前后端分离架构,如图所示,所以在进行本书设计的时候充分的考虑到了当前的应用环境,讲解的核心重点也全部放在了后台接口的良好设计,这样的讲解也为了后续的《SpringCloud就业编程实战》一书的微服务集群架构打下了良好的概念基础。

考虑到知识的全面性本书在编写的时候大量的参考了SpringBoot官方学习文档,并且将官方学习文档的资料进行了重新的梳理,使其更加适合于国人的阅读习惯,经过一系列的筛选编写出了12章的具体内容,每一章都有一个核心的主题,同时每一章都为后续的章节提供概念上的支持,这些章节的安排如下:

01章、SpringBoot概述:从传统的JavaEE(JakartaEE)的开发架构上阐述设计缺陷,同时分析了SSM框架整合开发中所存在的各类问题,并从宏观层次上介绍了SpringBoot技术特点以及与微服务之间的关联;

02章、SpringBoot编程起步:本次基于Gradle构建工具搭建了基础项目环境,并且分析了Gradle提供的各个开发插件的作用,最终给出了多模块环境下的SpringBoot项目搭建;

03章、SpringBoot环境配置:讲解了SpringBoot启动Banner修改、与原始Spring配置文件结合、项目热部署以及JUnit5测试工具的使用,同时深入讲解了Lombok组件配置以及生成类结构主要的作用;

04章、SpringBoot数据处理:程序是以数据处理为导向的组件集合,在本章中为读者分析了常见的几种文件结构的返回,例如:XML、JSON、PDF、Excel等,同时讲解了如何基于配置文件实现Bean注册;

05章、SpringBootWEB应用:SpringBoot程序主要是以WEB应用环境为主,所以在项目开发中可以方便的实现容器切换,并且可以直接使用JakartaEE所提供的内置对象来完成用户请求处理,在这一章中会将传统的WEB组件与SpringBoot进行整合,并实现了Email、Https、文件上传、数据验证的相关操作;

06章、Thymeleaf模版:SpringBoot可以很好的适应于单实例的项目开发,所以提供了Thyemeleaf模版组件的整合,在本章中将为读者分析模版文件的存储以及常见模版语法的使用;

07章、Actuator服务监控:SpringBoot内置有完整的监控数据获取支持,而要想进行合理的监控还需要整合Prometheus组件并结合NodeExport实现服务器的数据监控,在这一章中会对SpringBoot监控操作做深入讲解;

08章、SpringBoot与服务整合:自定义事件、分布式任务管理、WebService、WebSocket都属于常见的项目组件,在这一章中会基于各个组件依赖库进行服务的整合实现;

09章、SpringBoot异步编程:异步编程可以提高程序的处理性能,而在SpringBoot中支持有传统的多线程任务、Reactor响应式编程,在这一章中对异步编程的实现进行了整体的讲解,并且讲解了最新的RSocket协议支持;

10章、AutoConfigStarter自动配置是SpringBoot技术的宣传亮点,也是实现零配置的关键,在这一章中为读者分析了自动配置的实现,并且基于SpringBoot启动程序类实现了SpringBoot应用启动分析;

11章、SpringBoot与数据库编程:SSM是现代项目开发的主要应用框架,而SpringBoot简化了Spring以及SpringMVC的使用,但同时也需要引入MyBatis组件实现数据层开发,在本章中讲解了Druid数据源配置、Druid监控、MyBatis/MyBatisPlus整合、JTA分布式事务实现;

第12章、SpringBoot安全访问:认证与授权是系统安全之中永恒的话题,在这一章中为读者综合的讲解了常见的安全组件整合,包括SpringSecurity、OAuth2、JWT、Shiro,并且基于前后端分离的方式实现了认证与授权管理,而前端的开发为了简化统一使用了Vue.JS实现。

除了以上的这些章节之外,考虑到读者对于前后端设计的需求问题,我们也在最后安排了一个具体的项目实战,在这个项目实战中将基于已有的前端项目(Vue.JS + ElementUI实现)实现了分布式认证管理以及数据跨域访问的实现,考虑到学习层次的问题,本书并没有具体的讲解这些前端的内容,而有兴趣的读者也可以参考本系列的前端课程。

最后的最后我想说的是,因为写书与各类的公益技术直播,我错过了许多与我孩子和家人欢聚的时光,我内心感到非常的愧疚,但是我希望不久的未来我能为我的孩子编写一套属于他自己的编程类图书,帮助所有有需要的孩子进步,因为我喜欢研究编程技术,也勇于自我突破,如果你也是这样的一位软件工程师,也希望加入到我们这个公益技术直播的行列之内,让我们抛开所有的商业模式的束缚,一起将自己学到的技术传播给更多的爱好者,以我们微薄之力推动整个行业的技术发展,就如同我说过的,教育的本质是分享,并不是赚钱的工具。

图书目录:


第1章、SpringBoot概述    1
1.1、传统Java开发之痛    1
1.2、Spring之伤    2
1.3、走进SpringBoot    4
1.4、本章概览    6

第2章、SpringBoot开发入门    1
2.1、SpringBoot开发起步    1
2.1.1、第一个SpringBoot应用    2
2.1.2、SpringBoot注解分析    3
2.2、Gradle构建管理    5
2.2.1、dependency-management插件    5
2.2.2、SpringBootPlugin    7
2.2.3、多模块拆分    7
2.3、本章概览    11

第3章、SpringBoot环境配置    1
3.1、自定义启动Banner    1
3.2、导入Spring配置文件    3
3.3、项目热部署    5
3.4、整合JUnit5用例测试    6
3.5、Lombok插件    8
3.5.1、生成类操作结构    9
3.5.2、Accessor    11
3.5.3、建造者模式    13
3.5.4、异常处理    15
3.5.5、IO流自动关闭    16
3.5.6、同步方法    17
3.7、本章概览    18

第4章、SpringBoot数据处理    1
4.1、对象转换处理    1
4.1.1、整合FastJSON组件    3
4.1.2、返回XML数据    5
4.2、SpringBoot数据响应    6
4.2.1、返回PDF数据    6
4.2.2、返回Excel数据    8
4.2.3、返回图像流    10
4.2.4、返回视频流    11
4.2.5、文件下载    12
4.3、属性注入管理    13
4.3.1、@ConfigurationProperties    15
4.3.2、注入对象数据    16
4.3.3、自定义注入配置文件    19
4.4、本章概览    20

第5章、SpringBoot与WEB应用    1
5.1、项目打包    1
5.1.1、调整JVM运行参数    2
5.1.2、配置WEB环境    4
5.1.3、profile环境配置    5
5.2、WEB运行支持    7
5.2.1、整合Jetty容器    8
5.2.2、整合Undertow容器    9
5.3、获取WEB内置对象    10
5.4、读取资源文件    11
5.5、文件上传    13
5.6、请求拦截    15
5.6.1、整合WEB过滤器    15
5.6.2、整合WEB监听器    17
5.6.3、拦截器    18
5.6.4、AOP拦截器    19
5.7、整合Email邮件服务    20
5.8、https安全访问    22
5.9、全局错误页    24
5.10、@ControllerAdvice    26
5.10.1、全局异常处理    27
5.10.2、全局数据绑定    28
5.10.3、全局数据预处理    30
5.11、请求数据验证    31
5.11.1、JSR303数据验证规范    32
5.11.2、设置错误信息    35
5.11.3、自定义验证器    37
5.12、本章概览    39

第6章、Thymeleaf模版    1
6.1、Thymeleaf基本使用    1
6.1.1、Thymeleaf编程起步    2
6.1.2、Thymeleaf环境配置    5
6.1.3、整合静态资源    5
6.2、路径访问支持    7
6.3、读取资源文件    8
6.4、环境对象支持    11
6.5、对象输出    13
6.6、Thymeleaf页面显示    15
6.6.1、页面逻辑处理    15
6.6.2、数据迭代处理    16
6.6.3、页面包含指令    18
6.6.4、页面数据处理    20
6.7、本章概览    21

第7章、Actuator服务监控    1
7.1、服务监控    1
7.2.1、Actuator接口访问    3
7.2.2、heapdump信息    4
7.2.3、info服务信息    5
7.2.4、health服务信息    7
7.2.5、远程关闭    9
7.2.6、自定义Endpoint    10
7.2、日志处理    11
7.2.1、SpringBoot日志配置    12
7.2.2、整合Logback日志配置文件    14
7.2.3、动态修改日志级别    15
7.2.4、MDC全链路跟踪    17
7.3、Actuator可视化监控    21
7.3.1、NodeExporter    23
7.3.2、获取Prometheus监控数据    24
7.3.3、配置Prometheus服务    25
7.3.4、Grafana可视化    28
7.3.5、监控报警配置    30
7.3.6、警告触发测试    34
7.4、本章概览    35

第8章、SpringBoot与服务整合    1
8.1、定时任务管理    1
8.1.1、ShedLock分布式定时任务    2
8.1.2、动态配置任务触发表达式    4
8.2、事件发布与监听    6
8.2.1、自定义事件处理    7
8.2.2、@EventListener注解    9
8.3、WebService    11
8.3.1、搭建WebService服务端    13
8.3.2、开发WebService客户端    16
8.4、WebSocket    18
8.4.1、开发WebSocket服务端    19
8.4.2、开发WebSocket客户端    21
8.5、本章概览    22

第09章、SpringBoot异步编程    1
9.1、SpringBoot异步处理    1
9.1.1、Callable实现异步处理    1
9.1.2、WebAsyncTask    4
9.1.3、DeferredResult    5
9.1.4、SpringBoot异步任务    6
9.2、WebFlux    8
9.2.1、Reactor终端响应    10
9.2.2、SpringBoot整合Reactor    11
9.2.3、Flux返回集合数据    12
9.2.4、WebSocket处理支持    14
9.3、RSocket    15
9.3.1、RSocket基础开发    18
9.3.2、搭建RSocket服务端    22
9.3.3、搭建RSocket客户端    25
9.3.4、RSocket文件上传    27
9.3.5、基于RSocket开发WebSocket    30
9.4、本章概览    35

第10章、AutoConfig与Starter    1
10.1、AutoConfig    1
10.1.1、@EnableConfigurationProperties    3
10.1.2、@Import注解    5
10.1.3、application.yml配置提示    7
10.1.4、自定义Starter组件    8
10.2、SpringBoot启动分析    10
10.2.1、SpringApplication构造方法    13
10.2.2、SpringApplication.run()方法    14
10.2.3、启动内置WEB容器    16
10.2.4、AbstractApplicationContext.refresh()方法    17
10.3、SpringBootCLI    19
10.3.1、使用Groovy开发SpringBoot应用    20
10.3.2、SpringBootCLI工具管理    21
10.4、本章概要    21

第11章、SpringBoot与数据库编程    1
11.1、Druid数据源    1
11.1.1、基于Bean配置Druid    4
11.1.2、Druid监控界面    7
11.1.3、WEB访问监控    8
11.1.4、SQL监控    9
11.1.5、SQL防火墙    12
11.1.6、Spring监控    16
11.1.7、Druid日志记录    17
11.2、SpringBoot整合MyBatis    19
11.2.1、SpringBoot整合MyBatisPlus    21
11.2.2、基于Bean模式整合MyBatisPlus组件    24
11.2.3、AOP事务处理    26
11.3、多数据源    27
11.3.1、配置多个Druid数据源    29
11.3.2、动态数据源决策    32
11.3.3、MyBatisPlus整合多数据源    35
11.4、JTA分布式事务    38
11.4.1、AtomikosDataSourceBean    40
11.4.2、多数据源事务管理    43
11.4.3、MyBatis整合分布式事务    46
11.5、本章概览    47

第12章、SpringBoot安全访问    1
12.1、SpringSecurity    1
12.1.1、基于Bean配置SpringSecurity    1
12.1.2、HttpSecurity    2
12.1.3、返回Rest认证信息    2
12.1.4、UserDetailsService    3
12.1.5、基于数据库实现认证授权    3
12.2、SpringBoot整合OAuth2    4
12.2.1、搭建基础服务    4
12.2.2、ClientDetailsService    4
12.2.3、使用数据库存储client信息    5
12.2.4、使用Redis保存Token令牌    5
12.2.5、OAuth2资源服务    6
12.2.6、OAuth2客户端访问    6
12.2.7、Vue.JS整合OAuth2认证    7
12.3、SpringBoot整合JWT    7
12.3.1、生成JWT数据    8
12.3.2、用户管理    8
12.3.3、Token拦截    9
12.3.4、JWT认证操作    9
12.2.5、JWT分布式存储    10
12.2.6、Vue.JS整合JWT认证    10
12.4、Shiro    11
12.4.1、Shiro基础实现    11
12.4.2、Shiro登陆认证拦截    12
12.4.3、Shiro授权管理    12

图书配套视频列表:

0000_【前言】写在前面的话    本书是一本综合讲解SpringBoot原生开发技术的原创图书,也是作者若干年的开发与教学经验的总结,在这一部分我们将为读者全方面的介绍本书的写作目的以及章节内容概述。

0101_【理解】传统Java开发之痛    Java是构建企业平台与互联网平台的首选编程语言,在本课程中为读者分析了传统的JavaEE所带来的结构缺陷与性能问题,同时引出了开发框架设计的重要意义。

0102_【理解】Spring之伤    Spring作为一款优秀的开发框架从2002年起就一直陪伴Java技术的成长,同时也已经成为了一种事实上的Java开发标准,但是为什么要在Spring框架之上继续研发SpringBoot呢?在本课程中为读者讲解了Spring的起源、发展以及存在的问题。

0103_【理解】走进SpringBoot    为了降低开发者的代码编写,Pivotal公司基于Spring开发了SpringBoot开发框架,可以提高项目的启动与开发效率,本课程为读者分析了SpringBoot的特点、与Spring之间的关联以及微服务的基本概念。

0201_【掌握】构建SpringBoot项目    SpringBoot项目的开发需要大量的第三方组件库,开发者可以直接基于Gradle构建工具进行开发实现,本课程通过IDEA实现了Gralde项目的构建以及依赖库配置。

0202_【掌握】第一个SpringBoot应用    SpringBoot可以以Java程序的方式运行,而后会结合内置的Tomcat容器自动实现应用程序的部署,本课程通过具体的代码讲解了第一个SpringBoot的程序开发。

0203_【理解】SpringBoot注解分析    SpringBoot基于零配置实现了项目的配置管理,而实现零配置的关键就是注解与代码存储结构,本课程为读者分析了SpringBoot中的相关注解的作用,并且通过了具体的程序结构拆分实现了项目代码的标准化管理。

0204_【掌握】dependency-management插件    构建工具中的依赖版本是项目维护的重点,在本课程中为读者讲解了如何基于Gradle插件实现SpringBoot依赖库定义,以及Spring初始化工具的使用。

0205_【掌握】SpringBootPlugin    Gradle对SpringBoot项目提供着良好的环境支持,为了便于程序开发提供了专属的SpringBoot插件,本课程讲解了此插件的作用以及引入配置。

0206_【掌握】多模块拆分    一个良好的项目结构设计,需要依据功能实现子模块的拆分操作,本课程中将基于Gradle工具的特性实现父模块的标准化结构定义以及子模块配置。

0301_【理解】自定义启动Banner    SpringBoot极大的满足了开发者的开发要求,可以通过配置文件实现自定义的Banner,或者通过程序类在每次项目启动时设置不同的Banner,本课程通过具体的实例讲解了Banner文本的生成以及动态Banner的实现。

0302_【掌握】导入Spring配置文件    SpringBoot提供了更加便捷的项目开发模式,这样就需要对已有的项目进行有效的支持,所以可以基于XML配置文件的方式实现配置,在本课程中通过XML文件的方式实现了Bean定义,同时讲解了“@ImportResource”注解的作用。

0303_【掌握】项目热部署    项目的功能开发需要不断的进行代码的更新,而为了提高代码的开发效率则可以采用热部署的形式实现动态更新,本课程为读者讲解了SpringBoot的热部署处理以及相关的IDEA工具环境配置。

0304_【掌握】整合JUnit5用例测试    为了保证项目功能的正确性,往往需要对代码的执行结果进行测试,实际项目中JUnit是比较常见的用例测试工具,本课程通过具体的实例为读者讲解了如何基于JUnit5实现SpringBoot程序功能的测试。

0305_【掌握】Lombok简介与配置    Lombok是在项目开发中非常著名的一款开发插件,可以帮助用户自动的生成大量的程序代码,减少用户编码的重复操作,本课程为读者介绍了Lombok插件的作用,并且在IDEA中实现了Lombok使用环境配置。

0306_【掌握】生成类操作结构    简单Java类是在程序开发中最为常用的一种处理结构,在引入了Lombok插件后,开发者可以极大的简化简单Java类的结构定义,本课程为读者分析了Lombok提供的类结构生成注解的使用,并利用反编译工具实现了生成代码的比对。

0307_【理解】Accessor    标准中对象的属性设置需要通过setter方法来完成,但是在Java中允许开发者根据自己的需要定义不同的属性操作方法,所以在Lombok插件中提供了属性访问器的注解,本课程通过具体的代码分析了属性访问器中的三种操作模式。

0308_【理解】建造者模式    建造者模式(又称构建者模式)可以将一个复杂对象的构建与表示进行分离,在Lombok中可以直接进行建造者模式的生成,本课程为读者分析了建造者模式的意义以及Lombok建造者模式生成操作的实现。

0309_【理解】异常处理    在异常处理中需要到处使用“try…catch”的结构进行捕获,而为了简化异常处理操作,Lombok也提供了异常代码自动生成的注解,本课程为读者分析异常的处理操作的问题以及自动化异常处理的基本形式。

0310_【理解】IO流自动关闭    在Java中所有的资源操作完成后都需要手工调用close()方法进行处理,而Lombok提供了资源自动释放的注解,本课程将通过实例为读者讲解该注解的使用。

0311_【理解】同步方法    多线程进行同一资源调用时需要进行同步处理,Lombok提供了自动的同步化代码生成,本课程通过具体的实例讲解了同步方法的生成定义。

0401_【掌握】对象转换处理    SpringBoot中的Action方法可以直接实现参数与对象的接收,也可以直接以Rest风格实现对象数据的返回,本课程通过具体的代码实例讲解了此操作的实现,同时利用Gradle项目结构管理机制实现了代码的拆分与重用设计。

0402_【掌握】整合FastJSON组件    FastJSON是阿里推出的国内使用较为广泛的高性能JSON处理工具,在本课程中将通过具体的操作演示,将FastJSON整合到SpringBoot之中,并用其生成JSON数据。

0403_【理解】返回XML数据    XML是一种传统的数据交互格式,在SpringBoot程序设计中也可以直接基于Jackson依赖库实现XML数据响应,本课程通过具体的代码实例分析了XML的作用,同时基于新的依赖组件实现了对象转换为XML数据转换处理。

0404_【理解】返回PDF数据    为了便于文件的存储保存,在项目中往往会将文本信息以PDF结构的形式返回,在本课程中通过实例讲解了如何在SpringBoot项目中通过itextpdf组件生成PDF文件。

0405_【理解】返回Excel数据    为了便于项目中业务人员的数据统计需要,可以使用Excel实现数据的导出,本课程在SpringBoot项目中引入了EasyPOI组件实现Excel文件生成与下载。

0406_【理解】返回图像流    服务器端程序在开发中可以通过MIME响应的设置实现图像数据的返回,在SpringBoot中对这一常用操作进行了简化处理,本课程通过具体的实例为读者讲解了图像响应操作的实现。

0407_【理解】返回视频流    随着现代项目的发展要求,页面中显示视频已经是常规操作,而SpringBoot中内置了非常方便的视频资源请求处理操作,本课程通过实例为读者讲解了视频资源二进制传输的控制实现。

0408_【理解】文件下载    一个WEB服务器中会存在有大量的丰富资源,开发者为了资源的安全性,往往需要通过程序实现下载控制,本课程为读者讲解了服务端文件下载操作的实现。

0409_【掌握】属性定义与注入    项目中经常会使用资源文件进行配置管理,在SpringBoot中开发者可以使用默认的yaml文件实现配置,本课程为读者分析了YAML文件的基本格式,并通过实例讲解了资源自动注入的操作实现。

0410_【掌握】@ConfigurationProperties    为了方便的支持YAML注入的解析处理,在SpringBoot中提供了新的注解,本课程为读者讲解“@ConfigurationProperties”注解的作用并实现了List与Map集合注入。

0411_【掌握】注入对象数据    Java项目中的一切数据皆为对象,开发者可以利用SpringBoot提供的YAML文件实现对象属性的配置,本课程讲解了资源属性与类关联结构的定义。

0412_【掌握】自定义注入配置文件    在资源管理中为了避免过多资源配置导致application.yml文件的冗余,所以提供有资源文件的引入支持,在本课程中将实现资源的拆分以及注入管理。

0501_【掌握】项目打包    SpringBoot提供了微服务构建的核心基础,本次课程将基于Gradle任务管理实现了SpringBoot项目可执行jar文件的配置与生成操作。

0502_【掌握】调整JVM运行参数    JVM是SpringBoot程序运行的核心,然而在默认情况下JVM并不能够很好的发挥服务主机的性能,本课程基于SpringBoot程序部署讲解了JVM核心参数配置操作。

0503_【掌握】配置WEB环境    在WEB开发中除了应用程序之外,实际上还会包含有WEB容器的配置,本课程为读者讲解了如何修改Tomcat的监听端口以及相关配置属性的定义。

0504_【掌握】profile环境配置    profile是项目开发环境的统一管理文件,SpringBoot考虑到多开发环境的应用,提供了良好的profile处理支持,本课程通过具体的代码为读者分析了profile定义的两种形式,以及动态切换profile的操作。

0505_【理解】打包war文件    在SpringBoot运行中除了可以使用jar文件结构之外,也可以基于传统的war文件部署,本课程讲解了war文件的打包、程序类配置以及Tomcat应用部署操作。

0506_【理解】整合Jetty容器    Jetty已经是谷歌应用引擎(GAE)中被广泛使用的WEB容器,也是世界上较为流行的一种WEB容器,本课程为读者分析了Tomcat与Jetty运行架构,并通过具体的讲解实现了SpringBoot与Jetty的整合。

0507_【理解】整合Undertow容器    Undertow是新一代的WEB容器,本课程为读者讲解了如何将SpringBoot以Undertow容器的配置实现。

0508_【掌握】获取WEB内置对象    JavaWEB的核心机制是围绕内置对象操作展开的,在本课程中为读者讲解了SpringBoot中的内置对象获取机制。

0509_【掌握】读取资源文件    项目中的资源文件可以实现公共文字项的配置,也可以轻松的实现代码的国际化运行机制,本课程为读者讲解了资源文件的配置以及国际化数据读取操作。

0510_【掌握】文件上传    文件上传是HTTP中的常见应用,本课程通过实例代码讲解了FileUpload组件在SpringBoot中的应用,并利用curl工具模拟文件上传操作的实现。

0511_【掌握】整合WEB过滤器    过滤器是传统WEB组件为了保证请求安全而设计的,在Spring中可以基于Bean配置的形式实现过滤器的开发,本课程讲解了WEB过滤器定义的两种形式以及多个过滤器执行顺序的配置。

0512_【掌握】整合WEB监听器    监听是WEB开发中提供的事件驱动型的程序组件,在SpringBoot中也可以通过监听器实现各种状态的处理,本课程讲解了在SpringBoot下的WEB监听器开发。

0513_【掌握】拦截器    拦截器是SpringMVC所提供的扩展拦截组件,可以直接实现Action请求与响应的拦截处理,本课程基于SpringBoot实现了一个拦截器的定义与配置操作。

0514_【掌握】AOP拦截器    AOP是Spring的核心组成技术,也是对代理设计模式的有效封装,本课程讲解了如何在SpringBoot中基于AOP切面形式实现程序调用的拦截处理。

0515_【理解】整合Email邮件服务    WEB项目中经常需要与邮件系统进行整合,SpringBoot也提供有方便的邮件整合机制,本课程将通过已有的邮件系统实现服务开通,并利用程序实现邮件发送操作

0516_【理解】https安全访问    https安全访问是当今的主流应用协议,本课程将利用Java中提供的keytool工具模拟了证书的生成以及SpringBoot中对https启用的配置。

0517_【理解】全局错误页    WEB开发中考虑到可能出现的各种错误信息,最终都会定义统一的错误显示页,本课程通过实例讲解了如何在SpringBoot项目中定义错误页以及HTTP状态码的匹配。

0518_【掌握】全局异常处理    良好的程序开发需要有全面的异常处理操作,在SpringBoot中提供了全局异常的处理操作响应支持,本课程通过代码讲解了项目中统一异常的配置及数据响应。

0519_【掌握】全局数据绑定    在Action进行请求处理时经常需要使用到一些公共的数据信息,而在SpringBoot中可以直接通过“@ControllerAdvice”处理完成,本课程通过实例讲解了全局数据绑定的配置以及数据的两种注入处理模式。

0520_【掌握】全局数据预处理    Action类中的参数与对象转换是依靠名称的匹配机制完成的,但是开发的多样性中是有可能出现同名属性问题的,本课程为读者分析了同名属性对于参数接收的影响,并利用了全局预处理的形式基于标记前缀的方式解决了该问题。

0521_【理解】数据验证简介    数据验证是保证请求正确执行的关键步骤,在SpringBoot中可以直接引用JSR303验证规范进行验证处理,本课程为读者分析了Rest架构中请求验证的意义。

0522_【掌握】JSR303数据验证规范    本课程为读者讲解了JSR验证规范的具体定义以及Hibernate验证组件提供的扩展验证操作,并通过具体的实例分析了类验证规范以及普通参数验证的实现。

0523_【理解】设置错误信息    为了维护方便项目中往往会进行错误提示信息的统一管理,这样就可以基于资源文件实现错误信息的定义,本课程讲解了如何在注解中声明错误信息以及如何利用资源文件实现错误信息的加载处理。

0524_【理解】自定义验证器    随着项目的不同对于数据验证的处理要求也是不同的,考虑到程序开发扩展性的需要,JSR303也支持有自定义验证器的设计需求,本课程通过具体的操作实例为读者讲解了自定义验证注解与验证处理器的使用。

0601_【理解】Thymeleaf简介    单主机的项目需要实现动态数据的展示,在SpringBoot中默认集成了Thymeleaf模版支持,本课程为读者讲解了传统显示层开发的问题,以及Thymeleaf模版的特点。

0602_【理解】Thymeleaf编程起步    SpringBoot框架中针对于Thymeleaf模版提供了良好的支持,在本课程中为读者讲解了Thymeleaf模版文件的保存结构并且通过一个具体的代码实现了控制器与模版之间跳转以及属性传递的功能实现。

0603_【理解】Thymeleaf环境配置    SpringBoot对Thymeleaf有着良好的支持,同时也提供有很多的配置参数,在本课程中为读者介绍了相关配置参数的定义。

0604_【理解】整合静态资源    WEB开发中为了便于显示经常需要引入大量的静态资源,在Thymeleaf中也对静态资源的引入进行了结构规定,本课程为读者讲解了静态资源的存储、静态页面文件的定义以及相关资源的引入。

0605_【理解】路径访问支持    程序开发中需要通过动态模版页面进行数据显示,同时也需要加载指定的静态资源,为此Thymeleaf提供了方便的资源定位符,本课程将通过一个基本的请求跳转并结合资源定位符实现页面显示操作。

0606_【理解】读取资源文件    Thymeleaf中可以直接实现资源文件的内容加载,同时结合合理的Locale设置即可实现国际化的数据显示要求,本课程通过具体的实例讲解了Thymeleaf国际化操作实现。

0607_【理解】内置对象支持    内置对象是构成JavaWEB开发的核心单元,在模版中可以直接在页面实现指定内置对象的获取,本课程为读者介绍了Thymeleaf中的环境对象以及基本使用

0608_【理解】对象输出    MVC设计中是以对象实现数据传输处理的,在Thyemleaf中可以直接利用特定的语法实现对象属性的获取,本课程通过实例演示了一个对象传递与属性输出的操作。

0609_【理解】页面逻辑处理    动态页面是根据传递的属性内容实现渲染的,在Thymeleaf中可以直接在页面中结合关系运算以及逻辑运算进行分支判断操作,本课程通过具体的实例讲解了th:if、th:unless、th:switch等语句的使用。

0610_【理解】数据迭代处理    为了便于数据显示控制层常常将内容保存在集合之中,本课程讲解了Thymeleaf模版语法中的List与Map集合接收与迭代输出操作。

0611_【理解】页面包含指令    包含是页面程序可重用性操作的重要技术手段,在进行页面展示时可以实现功能程序的拆分,本课程通过实例为读者分析了Thyemeleaf中提供的两种包含语法支持。

0612_【理解】页面数据处理    控制层传递的数据内容需要在前台进行处理,为了便于页面的显示,在Thyemleaf中可以直接通过数据处理对象实现字符串、List、Set、Map的相关方法调用,本课程通过具体的代码为读者演示了这些数据处理操作的实现。

0701_【掌握】Actuator监控简介    项目监控是保证服务稳定的重要依据,在SpringBoot中提供了Actuator监控管理,本课程为读者讲解了微服务监控的意义,以及Actuator组件的配置及使用。

0702_【掌握】Actuator接口访问    Actuator由一系列的服务接口所组成,本课程为读者宏观的介绍了常见的监控端口功能,同时演示了mappings、beans监控信息的获取。

0703_【理解】heapdump信息    为了便于代码性能的调整,,开发者可以通过Actuator工具中提供的heapdump堆内存快照信息进行分析,本课程讲解了heapdump文件的下载以及内存信息查看。

0704_【理解】info服务信息    项目中的微服务需要进行明确的功能标准,所以在Actuator中就提供有完善的info服务监控,本课程通过实例讲解了info配置的两种形式以及信息内容的获取。

0705_【理解】health服务信息    微服务的能否持续的提供稳定的服务是保持项目持续运行的关键所在,在Actuator中提供了健康状态监控支持,本课程为读者讲解了“/health”返回信息控制以及自定义健康状态检测类的使用。

0706_【理解】远程关闭    Actuator除了提供有状态监控功能外,也可以实现远程服务关闭的操作,本课程通过实例分析讲解了远程关闭的启用以及命令发送操作。

0707_【理解】自定义Endpoint    考虑到项目监控扩展的支持,可以采用自定义EndPoint处理形式完成,本课程通过实例讲解自定义EndPoint工具类定义,并实现了数据参数的传递。

0708_【掌握】Lombok日志注解    日志是项目中的常规功能,在SpringBoot中已经自动的实现了日志组件的依赖配置,本课程讲解了传统日志的处理操作,并结合Lombok日志注解实现了日志输出。

0709_【掌握】SpringBoot日志配置    为了便于日志管理,往往都需要设置不同的日志级别,本课程为读者分析了默认的日志级别,同时通过具体的实例讲解了如何基于application.yml实现日志级别的配置。

0710_【掌握】整合Logback日志配置文件    SpringBoot中的日志除了可以通过yaml配置之外,也可以进行单独的日志配置的引入,本课程为读者定义了Logback日志配置文件,并实现了日志的归类管理。

0711_【掌握】动态修改日志级别    SpringBoot结合Actuator监控管理可以实现日志级别的动态控制,本课程通过具体的实例讲解了动态日志实现所需要的相关配置以及修改实现。

0712_【掌握】MDC全链路跟踪    良好的日志记录需要详细的保存用户线程的每一步操作信息,所以在Slf4j中提供了MDC全链路跟踪日志,本课程为读者分析了传统日志记录中的问题,同时通过具体的实例讲解了MDC全链路跟踪的程序实现。

0713_【理解】Actuator可视化监控简介    合理的微服务监控是保证项目正确运行的关键,这样就需要将Actuator提供的监控数据进行有效的整理,在本课程中为读者讲解了监控数据可视化的意义,并介绍了在可视化监控操作中常见的服务组件作用,同时为了便于读者清楚的理解每项服务的作用,利用虚拟机实现了一个监控集群的服务主机配置。

0714_【理解】NodeExporter    NodeExport是一个由Prometheus所提供的服务插件,其主要的目的是可以获取当前应用主机的监控信息,本课程为读者讲解了NodeExporter组件的获取以及环境配置。

0715_【理解】获取Prometheus监控数据    基于Actuator的处理机制,可以在项目中与Prometheus监控工具有效整合,本课程通过实例讲解了如何实现“/prometheus”监控终端的启用。

0716_【理解】配置Prometheus服务    Prometheus是一个开源工具可以方便的被所有开发者所使用,本课程为读者讲解了Prometheus工具的下载,并在Linux系统上进行了实现了工具的安装与配置。

0717_【理解】Gragana可视化    为了实现更加丰富的可视化效果,在微服务监控中往往会通过Grafana组件进行处理,本课程为读者讲解了Grafana组件的安装以及与Prometheus整合操作。

0718_【理解】监控报警配置    为了保证生产环境下的服务处于正确的运行状态,就必须对可能存在的问题进行有效的预警机制,Prometheus提供了AlterManager警报管理,本课程将利用QQ邮箱实现警报邮件的发送,并且根据监控参数定义了报警规则。

0719_【理解】警告触发测试    Prometheus中的报警数据是实时获取的,为了可以帮助读者观察到监控状态并可以接收到警告信息,在本课程中会通过stress工具实现测试操作。

0801_【理解】Spring定时任务    SpringBoot可以直接通过SpringTask实现定时任务的定义,在本课程中将通过间隔任务调度以及CRON任务调度两种模式实现定时任务,并阐述了定时任务与线程池之间的关联。

0802_【掌握】ShedLock分布式定时任务    为了便于集群中的定时任务管理,在SpringBoot中可以利用ShedLock实现分布式定时任务调度,在本课程中为读者分析了集群节点定时任务的重复执行问题,并且结合Redis数据库实现了分布式定时任务锁的管理。

0803_【掌握】ShedLock动态任务管理    定时任务的实现关键在于触发时间的配置,而使用ShedLock组件可以实现CRON表达式的动态配置,在本课程中为读者讲解了如何实现任务触发的动态管理。

0804_【理解】自定义事件概述    项目开发中会因为各种业务处理的强大逻辑关系造成业务功能代码的耦合家居,所以为了实现解耦和的目的就可以基于事件方式进行配置,在本课程中总结了Java中的事件管理机制实现问题,并分析了Spring中的事件实现机制

0805_【掌握】自定义事件处理    Spring对已有的事件机制进行了扩充,在本课程中为读者分析了Spring中的事件实现结构,并且利用给定的程序类实现了事件触发与处理操作。

0806_【掌握】@EventListener注解    为了进一步优化自定义事件的处理操作形式,在Spring中提供了@EventListener注解,本课程为读者分析了传统Spring事件处理机制的实现问题,同时通过具体的代码实例讲解了如何通过事件配置类实现相关事件处理。

0807_【理解】WebService简介    WebService是一种传统的服务整合架构,在本课程中为读者分析了WebService技术的主要作用,并介绍了与WebService的相关技术概念。

0808_【理解】搭建WebService服务端    Java中为了便于WebService开发提供了专属的jws程序包,同时可以在SpringBoot中结合CXF开发框架实现服务的发布,本课程通过具体的程序实例,讲解了WEB服务的开发以及发布处理。

0809_【理解】开发WebService客户端    WebService客户端需要依据SOAP协议模式进行调用,而通过CXF可以减少客户端使用的代码繁琐度,本课程为读者讲解了客户端的静态与动态调用模式。

0810_【掌握】WebSocket简介    WebSocket是HTML5所提供的重要通讯组件,本课程为读者讲解了WebSocket与Ajax操作的区别,以及WebSocket的通讯机制。

0811_【理解】开发WebSocket服务端    SpringBoot提供了方便的WebSocket开发支持,在本课程中为读者通过实例讲解了WebSocket程序开发实现。

0812_【理解】开发WebSocket客户端    WebSocket客户端不受到服务器的限制,只要提供有正确的WebSocket的连接地址即可访问,本课程通过原生的JavaScript实现了WebSocket通讯操作。

0901_【掌握】SpringBoot异步处理简介    多线程技术是Java的核心话题,也是提升服务器处理性能的重要技术手段,本课程为读者分析了SpringBoot中异步线程的作用,并且介绍了与之相关的工具类的作用。

0902_【掌握】Callable实现异步处理    SpringBoot基于Java的线程池管理,提供了异步任务线程池的概念,本课程为读者分析了工作线程池以及异步任务线程池的区别,同时利用了自定义配置类的方式实现了异步线程池的定义。

0903_【掌握】WebAsyncTask    为了方便异步线程的管理,开发者可以通过Spring所提供的WebAsyncTask任务类进行处理,本课程为读者讲解了局部异步线程配置的作用以及具体实现。

0904_【理解】DeferredResult    Java中的线程执行存在有Runnable与Callable两种机制,本课程主要为读者分析了Runnable实现的异步线程中所存在的问题,并使用了DeferredResult工具类保证了Runnable线程的正常执行。

0905_【掌握】SpringBoot异步任务    异步任务是一种在后台运行的线程结构,可以在不影响用户响应的情况下执行某些后台处理,本课程为读者分析了异步请求以及异步任务的区别,并且通过具体的程序代码实现了异步任务的开发与使用。

0906_【掌握】响应式编程简介    JDK1.9开始支持了Reactive Streams响应式编程,随后Spring也提供了Reactor编程模型,在SpringBoot中又推出了WebFlux,在本课程中为读者分析了响应式编程的发展历史,同时通过对比给出了SpringMVC与WebFlux实现区别。

0907_【理解】WebFlux终端响应    WebFlux基于Reactor技术实现,在开发中可以直接以启动一个运行终端进行请求处理,本课程通过具体的开发步骤,讲解了SpringBoot项目引入webflux依赖以及Reactor程序的开发与运行。

0908_【理解】SpringBoot整合WebFlux    SpringBoot为了便于异步处理,提供了更加方便的WebFlux整合支持,本课程通过具体的程序代码讲解Action与WebFlux的整合操作。

0909_【理解】Flux返回集合数据    Mono与Flux是Reactor开发框架中所提供的两种返回处理操作类,本课程为读者分析了这两个类的区别,并且通过实例讲解了如何基于Flux结构返回List与Map集合。

0910_【理解】WebSocket处理支持    内部提供了WebSocket异步处理支持,本课程结合WebSocket客户端实现了Reactor中的WebSocket程序数据交互。

0911_【理解】RSocket简介    RSocket是一种新型的通信协议,在本课程中为读者分析了传统的HTTP协议存在的问题,并且讲解了RSocket协议的主要特点。

0912_【理解】RSocket基础开发    RSocket提供了多种编程技术的实现方案,本课程中将通过一个Java程序代码,完整的分析了RSocket程序的基本开发,同时分析了四种数据处理操作方法的使用。

0913_【理解】搭建RSocket服务端    RSocket需要进行各种不同的数据处理模式,同时基于SpringBoot可以方便的实现RSocket服务开发,本课程结合常用的业务处理操作,为读者通过实例分析了RSocket服务的搭建。

0914_【理解】搭建RSocket客户端    RSocket客户端基于CBOR实现服务端数据交互,本课程讲解了客户端的编码器与解码器配置,同时利用JUnit实现了RSocket远程服务调用。

0915_【理解】RSocket文件上传    RSocket的二进制传输支持对于文件的上传操作也极为方便,本课程为读者分析了RSocket文件上传的基本流程,并且通过程序实现了文件的上传与保存处理。

0916_【理解】基于RSocket开发WebSocket    RSocket中支持有WebSocket通信实现,开发者可以直接通过修改SpringBoot配置文件的transport属性实现WebSocket通讯,本课程通过具体的应用实例为读者讲解了WebSocket服务端开发,并通过Vue.JS实现了RSocket-WebSocket-Client客户端调用。

1001_【掌握】自动装配简介    SpringBoot本着“约定优与配置”的原则,提供了自动装配处理机制,在本课程中为读者分析了自动装配的作用,并基于Redis自动装配进行了说明。

1002_【理解】@EnableConfigurationProperties    Spring中的Bean属性可以与资源文件进行配置关联,在本课程中实现自定义装配类的定义并利用“@ConfigurationProperties”注解实现了属性内容的注入操作。

1003_【理解】@Import注解    @EnableConfigurationProperties注解的实现依赖于@Import注解,本课程为读者分析了@Import注解的三种使用形式,并且通过具体的程序代码进行操作演示。

1004_【理解】application.yml配置提示    为了便于SpringBoot程序开发,在SpringBoot中会针对于配置Bean提供有配置提示的功能,本课程为读者讲解了如何在已有的程序中实现自动提示的处理操作。

1005_【理解】自定义Starter组件    一个符合于SpringBoot装配的模块一定要提供有大量的自动装配处理,本课程基于已经实现的自动配置模块实现打包处理,并在其他项目中实现自动配置管理。

1006_【理解】SpringBoot启动核心    SpringBoot设计极大的简化了开发者的项目配置难度,其利用大量的“零配置”形式可以方便的实现Bean注册管理,本课程从宏观的角度为读者介绍了核心启动类以及启动注解的作用。

1007_【理解】SpringApplication构造方法    SpringApplication是整个SpringBoot结构中的核心程序类,本课程通过源代码的组成分析了SpringApplication的基本执行流程,同时分析了SpringApplication类中核心构造方法源代码的功能。

1008_【理解】SpringApplication.run()方法    获取了SpringApplication对象实例后,实际上就可以实现相关的类加载器配置以及容器初始化配置支持,这样就可以通过run()方法实现容器启动,本课程为读者分析了run()方法的源代码组成结构。

1009_【理解】启动内置WEB容器    SpringBoot为了便于启动容器的统一管理,提供了ConfigurableApplicationContext接口,本课程通过该接口实例的创建分析了SpringBoot中WEB容器的启动配置。

1010_【理解】AbstractApplicationContext.refresh()方法    Spring容器中需要维护大量的程序Bean,虽然SpringBoot不再需要进行手工的配置,但是其内部依然会有大量的Bean、事件与资源管理配置,本课程为读者展示了容器刷新源代码的定义,并分析了其操作的组成。

1011_【理解】SpringBootCLI配置    SpringBootCLI是一个简化程序运行的处理工具,本课程为读者介绍了SpringBootCLI工具的作用,并演示了该工具的下载与安装操作。

1012_【理解】使用Groovy开发SpringBoot应用    Groovy是一种简化的Java脚本编程,本课程通过Groovy实现了SpringBoot中的控制器定义,并结合SpringBootCLI实现了项目的运行。

1013_【理解】Groovy开发SpringBoot项目    SpringBootCLI内部提供有大量的项目运行与构建工具,本课程为读者介绍了常用的工具命令,并实现了Maven以及Gradle项目的快速构建。

1101_【掌握】Druid基本配置    Druid是一款高性能的数据库连接池组件,本课程为读者介绍了Druid的基本作用,同时基于SpringBoot提供的整合方案实现了Druid数据源的相关配置。

1102_【掌握】基于Bean配置Druid    使用druid-spring-boot-starter模块虽然可以很方便的实现Druid数据源的配置,但是考虑到实际开发中的灵活性,还是建议开发者手工配置Druid应用环境,本课程采用了原始的druid依赖库并基于Bean配置的方式实现了Druid连接池的配置。

1103_【掌握】Druid监控界面    Druid提供了应用的状态监控管理机制,在本课程中通过实例为读者讲解了如何开启WEB监控以及相关监控环境的配置。

1104_【掌握】WEB访问监控    Druid自带了WEB环境监控,可以对用户的每一次请求路径以及处理性能进行统计记录,本课程讲解了如何在项目中实现WEB信息、Session以及URI监控的开启。

1105_【掌握】SQL监控    为了完成项目所需要的业务往往需要执行大量的SQL操作,Druid提供了SQL执行次数的统计以及性能分析,本课程讲解了如何在项目中开启SQL监控操作。

1106_【掌握】SQL防火墙    SQL防火墙可以有效的保证程序出现非法SQL时进行拦截,本课程为读者介绍了Druid提供的SQL防火墙规则,并且通过实例实现了SQL防火墙的配置与操作拦截。

1107_【掌握】Spring监控    Druid提供了Spring监控支持,可以直接依赖AOP定义监控切面,并根据切面获取相应的监控数据,本课程实现了Druid中的Spring监控配置。

1108_【掌握】Druid日志记录    Druid支持有日志的存储记录支持,开发者可以利用日志进行程序问题的分析,本课程基于Logback日志组件,实现了一个慢SQL日志的记录操作。

1109_【掌握】Spring整合MyBatis    MyBatis是项目开发中最为常用的ORM组件,在SpringBoot中也提供了非常方便的MyBatis整合开发,本课程为读者讲解了SpringBoot整合MyBatis的操作实现。

1110_【掌握】Spring整合MyBatisPlus    MyBatisPlus提供了与SpringDataJPA类似的结构,可以大量简化MyBatis重复开发,本课程基于SpringBoot开发框架引入了MybatisPlus,并实现了基本CRUD操作。

1111_【掌握】基于Bean模式整合MyBatisPlus组件    开发者在实际开发中会存在有MyBatisPlus手工配置的需要,所以在本次课程中将废弃mybatis-plus-boot-starter依赖,并通过Bean的方式实现组件的手工配置。

1112_【掌握】AOP事务处理    Spring提供了良好的AOP事务支持,由于SpringBoot倡导零配置,所以可以基于Bean方式配置处理,本课程实现了SpringBoot中的事务配置应用。

1113_【掌握】多数据源操作简介    利用Bean方式可以在项目运行容器内定义若干个DataSource数据源,这样就要在数据库操作时动态的实现数据源的切换操作,本课程为读者分析了多数据源配置的意义,以及在Spring中实现动态数据源切换的设计原理。

1114_【掌握】配置多个Druid数据源    SpringBoot所提供的Druid自动装配处理机制中提供了多数据源的配置支持,本课程将基于application.yml以及DruidDataSourceBuilder类实现项目中多个数据源的配置。

1115_【掌握】动态数据源决策    项目中的多个DataSource需要根据不同的请求切面实现切换处理,在本课程中将基于AbstractRoutingDataSource并结合AOP实现了动态数据源的切换操作。

1116_【掌握】MyBatisPlus整合多数据源    有了数据源的动态切换后,就可以基于此机制实现MyBatis与动态数据源的整合处理,在本课程中基于DAO层实现动态数据源的切面管理,并实现数据查询操作。

1117_【掌握】JTA分布式事务简介    程序中采用多数据源管理后就需要进行分布式的事务控制,本课程为读者讲解了分布式事务的主要作用,同时分析了Atomikos实现原理

1118_【掌握】AtomikosDataSourceBean    Druid数据源提供了XA协议支持,在本课程中将修改已有的数据源配置,并基于AtomikosDataSourceBean类实现了数据源配置。

1119_【掌握】多数据源事务管理    Spring可以基于AOP实现事务操作的切面控制,而在多数据源的程序管理中,需要通过不同的数据源实现事务管理,本课程基于MyBatis事务标准实现了一个自定义事务管理器,并基于事务管理工厂实现了事务对象获取。

1120_【掌握】MyBatis整合分布式事务    分布式事务需要整合在MyBatis配置类中,在本课程中实现了事务组件的整合,随后又基于数据的批量更新操作演示了分布式事务的具体实现效果。

1201_【掌握】SpringSecurity快速整合    Spring为了便于认证与授权的统一管理提供了SpringSecurity开发框架,同时在SpringBoot中也提供了该框架的简化整合,本课程通过具体的开发实例为读者讲解了如何在SpringBoot项目中引入SpringSecurity支持,并且实现了基础开发。

1202_【掌握】基于Bean配置SpringSecurity    通过application.yml配置的SpringSecurity仅仅可以提供基础的认证与授权管理,而为了便于SpringSecurity配置管理,在项目中往往都基于配置Bean的形式完成,本课程通过实例在配置类中定义了用户信息以及相应的编码器定义。

1203_【掌握】HttpSecurity    SpringSecurity提供了强大的定制化支持,开发者可以通过配置类实现访问路径的授权检测,在本次课程中将通过HttpSecurity类实现资源路径的访问配置。

1204_【掌握】返回Rest认证信息    现代项目采用了前后端分离设计架构,这样就需要对SpringSecurity的处理操作以Rest方式进行响应,本课程利用了HttpSecurity实例并结合处理接口实现了认证与授权有关的Rest数据响应处理。

1205_【掌握】UserDetailsService    为了便于用户认证与授权业务的处理,在SpringSecurity中可以基于UserDetailsService进行相关业务处理,本课程讲解了UserDetailsService实现结构,并且通过具体的操作实例讲解实现了UserDetailsService接口的应用整合。

1206_【掌握】基于数据库实现认证授权    良好的项目结构中所有的认证数据需要通过数据库实现统一管理,在本课程中将基于SpringDataJPA开发框架与UserDetailsService接口实现基于数据库的认证授权管理。

1207_【掌握】OAuth2基本概念    OAuth2是当前实现单点登录的重要技术手段,利用OAuth2可以有效的实现异构系统的统一认证服务处理,在本课程中为读者讲解了OAuth2的概念以及使用流程。

1208_【掌握】搭建 OAuth2基础服务    OAuth2是一种协议标准,可以通过手工或已有安全框架来实现,在SpringSecurity中提供了OAuth2的整合支持,在本课程中将通过基础依赖实现OAuth2的基本操作。

1209_【掌握】ClientDetailsService    基于SpringSecurity实现的OAuth2,可以结合SpringSecurity已有的结构特点进行代码管理,在本课程中会为读者讲解第三方客户端接入数据管理操作结构。

1210_【掌握】使用数据库存储Client信息    实际应用中会存在有大量的第三方客户端整合服务,那么此时就需要通过数据库来实现Client数据管理,本课程讲解了client数据表的创建,并且基于SpringDataJPA实现了Client数据层的处理。

1211_【掌握】使用Redis保存Token令牌    OAuth2进行资源访问的重要途径就是Token处理,在本课程中通过客户端ID和密钥并结合授权码实现了Token的生成,同时考虑到了OAuth2集群应用环境,实现了基于Redis数据库的Token数据存储。

1212_【掌握】OAuth2资源服务    OAuth2认证处理流程中服务器需要提供有相关的用户资源,而资源的访问是需要存在有合法的Token信息,本课程实现了用户基本信息资源返回处理。

1213_【掌握】OAuth2客户端访问    SpringSecurity除了支持有OAuth2服务搭建之外,也可以直接实现客户端的创建,在本课程中将通过具体的操作实例讲解具体的OAuth2服务的调用处理。

1214_【理解】Vue.JS整合OAuth2认证    现代的大型项目开发都会对程序实现进行有效的前后端分离,在本课程中将通过Vue.JS并结合WebPack实现OAuth2接入实现,并通过Axios实现了资源数据的获取处理。

1215_【掌握】JWT简介    JWT是一种简化的单点登录解决方案,在本课程中为读者分析了OAuth2单点登录应用方案的形式以及缺陷,并且详细阐述了JWT的主要作用以及使用流程。

1216_【掌握】JWT结构分析    JWT为了可以包含更多的数据信息,同时也为了便于数据的安全以及解析处理,提供了完善的数据存储结构,本课程为读者分析了JWT中数据组成规范,同时讲解了实际项目开发中JWT数据配置。

1217_【掌握】JWT数据服务    JWT组件为了便于用户进行JWT数据的处理,提供了良好的支持,在本课程中将基于业务层的管理机制实现JWT数据的创建、解析、验证以及刷新处理。

1218_【掌握】Token拦截    JWT数据直接决定了所调用的目标微服务能否正常执行,所以需要通过拦截器的机制进行Token存在以及有效性的判断处理,本课程通过具体的代码实现了访问拦截。

1219_【理解】Vue.JS整合JWT认证    由于JWT的实现机制较为简单,所以可以更好的应用于前后端分离项目架构之中,在本课程中基于Vue.JS整合了JWT登录认证以及微服务访问处理操作的实现。

1220_【掌握】Shiro整合简介    Shiro是一款优秀的安全框架,在早期的SSM开发过程之中使用较为广泛,同时为了配合SpringBoot实现模式,Shiro也提供有相关的依赖支持,本课程为读者总结了Shiro的主要特点与核心结构概念。

1221_【掌握】Shiro用户认证    为了便于Shiro的理解,在本次课程中将基于固定认证信息的模式实现Realm数据管理,同时基于过滤器配置的方式实现安全检查。

1222_【掌握】Shiro访问拦截    Shiro提供了完善的认证与授权访问控制,在本课程中将采用自定义过滤器的形式实现Session与Subject数据的获取,同时结合Shiro已有的机制实现了授权控制。


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yootk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值