整合日志框架

1、整个Spring框架代码基于java8实现,运行时兼容JDK9,删除了很多不建议使用的类和方法
2、spring5.0框架自带了通用的日志封装
(1)spring5已经移除了Log4jConfigListener,官方建议使用log4j2
(2)spring5框架整合log4j2
第一步整合相关的jar包
spring6和5的区别 spring4和spring5学哪个好_java第二步创建Log4j2.xml配置文件

spring6和5的区别 spring4和spring5学哪个好_log4j_02

支持@Nullable注解和函数式注册对象

1、@Nullable注解可以使用在方法、注解、参数上面,方法返回可以为空,属性值可以为空,参数值可以为空
spring6和5的区别 spring4和spring5学哪个好_Web_03
spring6和5的区别 spring4和spring5学哪个好_spring_04spring6和5的区别 spring4和spring5学哪个好_log4j_054、Spring 核心容器支持函数式风格

spring6和5的区别 spring4和spring5学哪个好_java_06

Spring5支持整合Junit5

1、整合Junit4
第一步 引入Spring相关依赖
spring6和5的区别 spring4和spring5学哪个好_spring_07第二步创建测试类
spring6和5的区别 spring4和spring5学哪个好_log4j_08

Spring5整合Junit5

1、引入依赖

spring6和5的区别 spring4和spring5学哪个好_spring_09

2、创建测试类,使用注解完成
spring6和5的区别 spring4和spring5学哪个好_spring_10spring6和5的区别 spring4和spring5学哪个好_java_11
3、使用一个符合注解替代上述的两个注解功能
spring6和5的区别 spring4和spring5学哪个好_非阻塞_12

SPringWebFlux

1、SpringWebflux介绍
(1)、是Spring5添加的心模块,用于web开阿发,功能SpringMVC类似的,Webflux使用当前一种比较流行的响应式编程出现的框架
(2)、使用传统的Web框架,比如SpringMVC ,这些基于Serblet容器,Webflux是一直异步非阻塞的框架,异步非阻塞的框架在Servlet3.1以后才支持的,核心基于Reacter的相关API实现的。
异步非阻塞:
异步和同步:针对调用者,调用者发送请求,等着对方回应后才向下执行,即同步,反之,为异步
非阻塞和阻塞:针对非调用者,被调用者收到请求后,做出请求任务之后才给出反馈就是阻塞,收到请求后,马上给出反馈然后再去做事情就是非阻塞。
都是针对对象不一样
(3)、webflux特点:非阻塞式、提高系统吞吐量和伸缩性,以Reactor为基础实现响应式编程;函数式编程,spring5框架基于java8,通过函数式编程实现路由请求
spring6和5的区别 spring4和spring5学哪个好_java_13两个框架度可以使用注解方式,也能运行在tomcat容器中
SpringMVC采用命令式 编程,WebFlux采用响应式编程

响应式编程

spring6和5的区别 spring4和spring5学哪个好_Web_14

jav8及其版本

提供的观察者模式两个类Observer和Observable
spring6和5的区别 spring4和spring5学哪个好_Web_15

响应式编程(Reactor实现)

spring6和5的区别 spring4和spring5学哪个好_spring_16
Fluxh和Mono都是数据流的发布者,使用Flux和Mono都可以发出三种数据信号:元素值,错误信号,完成信号,错误信号和完成信号都代表终止信号,终止信号告诉订阅者数据流结束了,错误信号终止数据流同时吧错误信息传递给订阅者
spring6和5的区别 spring4和spring5学哪个好_非阻塞_17

SpringWebflux执行流程和核心API

它是基于Reactor,默认使用容器是Netty,Netty是高性能的NIO(异步非阻塞)框架

spring6和5的区别 spring4和spring5学哪个好_log4j_18
SpringWebflux核心控制器DispatchHandler,实现接口WebHandler
spring6和5的区别 spring4和spring5学哪个好_java_19SpringWebflux里面的DispatcherHandler负责请求的处理
spring6和5的区别 spring4和spring5学哪个好_Web_20SpringWebflux实现函数式编程的两个接口:RoutherFunction(路由函数) HandlerFuction(处理函数)

SpringWebflux(基于注解)

1、创建SpringBoot工程,引入依赖
spring6和5的区别 spring4和spring5学哪个好_Web_212、配置启动端口号
spring6和5的区别 spring4和spring5学哪个好_spring_223、创建相关的包和启动类
spring6和5的区别 spring4和spring5学哪个好_非阻塞_23spring6和5的区别 spring4和spring5学哪个好_java_24
spring6和5的区别 spring4和spring5学哪个好_Web_25spring6和5的区别 spring4和spring5学哪个好_Web_26spring6和5的区别 spring4和spring5学哪个好_非阻塞_27spring6和5的区别 spring4和spring5学哪个好_Web_28
spring6和5的区别 spring4和spring5学哪个好_非阻塞_29spring6和5的区别 spring4和spring5学哪个好_log4j_30
SpringWebflux(基于函数式编程)
1、需要自己初始化服务器
2、核心接口:
(实现路由功能) RouterFuction:转发对应的handler
(处理请生成相应的函数)HandlerFUction
spring6和5的区别 spring4和spring5学哪个好_非阻塞_31