Spring的学习(八)Spring5新功能

一.日志

1.Spring5基于java8,运行时兼容java9
2.Spring5.0框架自带了通用的日志封装
(1)Spring5已经移除Log4jConfigListener , 官方建议使用Log4j2.
(2)Spring5整合Log4j2
第一步,引入jar包

log4j2-api-2.11.2.jar
log4j2-core-2.11.2.jar
log4j2-slf4j-impl-2.11.2.jar
slf4j-api-1.7.30.jar

第二步,创建log4j2.xml

二.@Nullable注解和函数式注册对象

(1)@Nullable可以用在方法上(返回值可以为空),属性上(属性值可以为空),参数上(参数值可以为空)
(2)函数式注册对象

//1.创建GenericApplicationContext 对象
GenericApplicationContext context = new GenericApplicationContext();
//2.调用context的方法注册对象
context.refresh();
context.registerBean("user1",User.class , ()->new User());
//3.获取对象
User user = (User) context.getBean("user1");

三.支持整合JUnit5(也支持JUnit4)

(1)整合JUnit4

第一步:引入依赖

spring-test-5.2.6.RELEASE.jar

第二步:创建测试类,使用注解方式完成

@RunWith(SpringJUnit4ClassRunner.class)//指定单元测试版本
@ContextConfiguration("classpath:bean1.xml")//加载配置文件
public class Jtest4(){
  @Autowired
  private UserService userService;
  
  @Test  //JUnit4的Test
  public void test1(){
   userService.accountMoney();
  }

}

(2)整合JUnit5

@ExtendWith(SpringExtension.class)//指定单元测试版本
@ContextConfiguration("classpath:bean1.xml")//加载配置文件
public class Jtest5(){
  @Autowired
  private UserService userService;
  
  @Test //换JUnit5的Test
  public void test1(){
   userService.accountMoney();
  }



可以一个复合注解@SpringJunitConfig替代上方的两个注解

//@ExtendWith(SpringExtension.class)//指定单元测试版本
//@ContextConfiguration("classpath:bean1.xml")//加载配置文件
@SpringJunitConfig(locations="classpath:bean1.xml")
public class Jtest5(){

}

四.SpringWebflux

基本介绍

1.SpringWebflux是用于web开发的,功能和springMVC类似,webflux是利用一种当前比较流行的响应式编程出现的框架。
2.使用传统的web框架,比如springmvc,这些是基于Servlet容器,webflux是一种异步非阻塞的框架,异步非阻塞的框架在servlet3.1以后才支持,核心是基于Reactor的相关API实现的

什么是异步非阻塞?

1.异步和同步针对调用者,调用者发送请求,如果等到对方回应之后才去做其他事情就是同步,如果发送请求之后不等对方回应就去做其他事情就是异步。

2.阻塞和非阻塞是针对被调用者,被调用者接受请求之后,做完请求任务之后才给出反馈就是阻塞,受到请求之后马上给出反馈然后再去做事情就是非阻塞

需要知道的前提知识:
1.SpringMVC
2.SpringBoot
3.Maven
4.Java8新特性

比较SpringMVC

1.两个框架都可以使用注解方式,都运行在tomcat等容器中
2.SpringMVC采用命令式编程(一行一行代码运行),Webflux采用异步响应式编程

响应式编程

webflux执行流程和核心API

webflux(基于注解编程模型)

webflux(基于函数式编程模型)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值