链接:https://pan.baidu.com/s/1BOg3bA0HH1LeAwHfLVbnvQ 提取码:as2d
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已有的机制实现了授权控制。