栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

六、spring5框架新功能

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

六、spring5框架新功能

六、spring5框架新功能
  • 六、spring5框架新功能
    • 1、整个spring框架的代码基于Java8,运行时兼容JDK9,许多不建议使用的类和方法在代码库中删除
    • 2、Spring5.0框架自带了通用的日志封装
          • test/新建UserLog
    • 3、Spring5框架核心容器支持@Nullable注解
    • 4、Spring5核心容器支持函数式风格GenericApplicationContext
          • test/新建User
          • testTX
    • 5、Spring5支持整合JUnit5
          • test/新建JTest4
          • test/新建JTest5
          • JTest5
    • spring5框架新功能(Webflux)
      • 1、SpringWebflux介绍
      • 2、响应式编程
      • 3、Webflux执行流程和核心
      • 4、SpringWebflux(基于注解编程模型)
      • 5、SpringWebflux(基于函数式编程模型)

说明
仅供学习交流使用,
笔记作于【尚硅谷Spring5框架教程(idea版)-哔哩哔哩】

六、spring5框架新功能 1、整个spring框架的代码基于Java8,运行时兼容JDK9,许多不建议使用的类和方法在代码库中删除 2、Spring5.0框架自带了通用的日志封装

(1)Spring5已经移除了Log4jConfigListener
(2)Spring5框架整合Log4j2
第一步 引入jar包

https://www.apache.org/dyn/closer.lua/logging/log4j/2.14.1/apache-log4j-2.14.1-bin.zip
https://repo1.maven.org/maven2/org/slf4j/

第二步 创建Log4j2.xml配置文件





    
    
        
        
            
            
    

        
        
    
        
        
        
    


test/新建UserLog
package com.atguigu.spring5.test;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class UserLog {
    private static final Logger log= LoggerFactory.getLogger(UserLog.class);

    public static void main(String[] args) {
        log.info("hello log4j2");
        log.warn("hello log4j2");
    }
}

3、Spring5框架核心容器支持@Nullable注解

(1)@Nullable注解可以使用在方法上面,属性上面,参数上面,表示方法返回值可以为空,属性值可以为空,参数值可以为空
(2)注解用在方法上面,表示方法返回值可以为空

(3)注解使用在方法参数里面,表示方法参数可以为空

(4)注解使用在属性上面,表示属性值可以为空

4、Spring5核心容器支持函数式风格GenericApplicationContext test/新建User
package com.atguigu.spring5.test;

public class User {
//    public static void main(String[] args) {
//        User user=new User();
//    }
}

testTX
//函数式风格创建对象,交给spring进行管理
    @Test
    public void testGenericApplicationContext(){
        //1 创建GenericApplicationContext对象
        GenericApplicationContext context=new GenericApplicationContext();
        //2 调用context的方法对象注册
        context.refresh();
        context.registerBean(User.class,()->new User());
        context.registerBean("user1",User.class,()->new User());
        //3 获取在spring注册的对象
//        User user =(User) context.getBean("user");
//        System.out.println(user);//No bean named 'user' available
        User user =(User) context.getBean("com.atguigu.spring5.test.User");
        System.out.println(user);//com.atguigu.spring5.test.User@641147d0
        User user1 =(User) context.getBean("user1");
        System.out.println(user1);//com.atguigu.spring5.test.User@64d7f7e0



    }
5、Spring5支持整合JUnit5

(1)整合JUnit4
第一步 引入Spring相关针对测试依赖

test/新建JTest4
package com.atguigu.spring5.test;

import com.atguigu.spring5.service.UserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)//单元测试框架
@ContextConfiguration("classpath:bean1.xml")//加载配置文件
public class JTest4 {
    @Autowired
    private UserService userService;

    @Test
    public void test1(){
        userService.accountMoney();
    }
}

(2)Spring5整合JUnit5
第一步 引入JUnit5的jar
第二部 创建测试类,使用注解完成

test/新建JTest5
package com.atguigu.spring5.test;

import com.atguigu.spring5.service.UserService;
import org.junit.jupiter.api.Test;

import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;


@ExtendWith(SpringExtension.class)
@ContextConfiguration("classpath:bean1.xml")//加载配置文件
public class JTest5 {
    @Autowired
    private UserService userService;

    @Test
    public void test1(){
        userService.accountMoney();
    }
}

(3)使用一个复合注解替代上面两个注解完成整合

JTest5
package com.atguigu.spring5.test;

import com.atguigu.spring5.service.UserService;
import org.junit.jupiter.api.Test;

import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;


//@ExtendWith(SpringExtension.class)
//@ContextConfiguration("classpath:bean1.xml")
@SpringJUnitConfig(locations = "classpath:bean1.xml")
public class JTest5 {
    @Autowired
    private UserService userService;

    @Test
    public void test1(){
        userService.accountMoney();
    }
}

spring5框架新功能(Webflux) 1、SpringWebflux介绍


先修课程

2、响应式编程 3、Webflux执行流程和核心 4、SpringWebflux(基于注解编程模型) 5、SpringWebflux(基于函数式编程模型)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/337924.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号