Spring6学习技术|Junit

学习材料

尚硅谷Spring零基础入门到进阶,一套搞定spring6全套视频教程(源码级讲解)

Junit

背景

背景就是每次Test都要重复创建容器,获取对象。就是ApplicationContext和getBean两个语句。通过Spring整合Junit,可以减少这部分。

具体步骤

引入依赖pom.xml

xml 复制代码
<!--spring对junit的支持相关依赖-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>6.0.2</version>
    </dependency>

    <!--junit5测试-->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.9.0</version>
    </dependency>

配置bean.xml

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    <context:component-scan base-package="com.atguigu.spring6.bean"/>
</beans>

使用:

java 复制代码
import com.atguigu.spring6.bean.User;
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:beans.xml")
//方式二
@SpringJUnitConfig(locations = "classpath:beans.xml")
public class SpringJUnit5Test {

    @Autowired
    private User user;

    @Test
    public void testUser(){
        System.out.println(user);
    }
}
java 复制代码
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:bean4.xml")

发现报错

怀疑是老问题,Test依赖引入不对。一直引入的是import org.testng.annotations.Test;才能正常运行,今天才发现是模块里的pom.xml自己引入了Junit起了冲突,现在已正常使用。

但是这个报错一直没有解决,也能正常运行。运行结果如下:

相关推荐
星恒随风11 小时前
C++ STL 详解:list 的使用、迭代器失效、模拟实现与 vector 对比
开发语言·数据结构·c++·笔记·学习·list
静水楼台x11 小时前
spring security
java·数据库·spring
red_redemption11 小时前
自由学习记录(208)
学习
一起努力啊~11 小时前
DataWhale组队学习笔记--llm-algo-leetcode(五)
笔记·学习·llm
世人万千丶20 小时前
鸿蒙Flutter Flex多子组件权重分配
学习·flutter·华为·harmonyos·鸿蒙
咖啡八杯20 小时前
GoF设计模式——解释器模式
java·后端·spring·设计模式
糖果店的幽灵20 小时前
【DeepAgents 从入门到精通】Context Management 上下文管理
java·人工智能·后端·spring·中间件·langgraph·deepagents
圣光SG1 天前
Servlet学习笔记
笔记·学习·servlet
@Mike@1 天前
02-数据库学习笔记(SQL引擎)
数据库·笔记·学习
六点_dn1 天前
RabbitMQ学习笔记-定义与作用
笔记·学习·rabbitmq