Java之Spring整合Junit

 更新时间:2023年04月06日 11:54:07   作者:JiangTao_xlili  
Java Spring框架是一个轻量级的开源框架,具有很高的凝聚力和吸引力,本篇文章带你了解如何配置数据源、注解开发以及整合Junit

1 测试类中的问题和解决思路

1.1 问题

  • 在测试类中,每个测试方法都有以下两行代码:
    • ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
    • IAccountService as = ac.getBean("accountService",IAccountService.class);
  • 这两行代码的作用是获取容器,如果不写的话,直接会提示空指针异常。所以又不能轻易删掉。

1.2 解决思路分析

  • 针对上述问题,需要的是程序能自动创建容器
  • junit无法知晓是否使用了 spring 框架,无法创建 spring 容器了,但junit 暴露了一个注解,可以替换掉它的运行器。
  • 需要依靠 spring 框架提供的运行器,可以读取配置文件(或注解)来创建容器,只需要告诉它配置文件在哪就行了。

2 配置步骤

2.1 第一步:拷贝整合 junit 的必备 jar 包到 lib 目录

  • 此处需要注意的是,导入 jar 包时,需要导入一个 spring 中 aop 的 jar 包。

2.2 第二步:使用@RunWith 注解替换原有运行器

@RunWith(SpringJUnit4ClassRunner.class)
public class AccountServiceTest {
}

2.3 第三步:使用@ContextConfiguration 指定 spring 配置文件的位置

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:bean.xml"})
public class AccountServiceTest {
}
  • @ContextConfiguration 注解:
    • locations 属性:用于指定配置文件的位置。如果是类路径下,需要用 classpath:表明
    • classes 属性:用于指定注解的类。当不使用 xml 配置时,需要用此属性指定注解类的位置。

 2.4 第四步:使用@Autowired 给测试类中的变量注入数据

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:bean.xml"})
public class AccountServiceTest {
 
    @Autowired
    private IAccountService as ;
}

3 不把测试类配到 xml 中的原因

  • 第一:当在 xml 中配置了一个 bean,spring 加载配置文件创建容器时,就会创建对象。
  • 第二:测试类只是在测试功能时使用,而在项目中它并不参与程序逻辑,也不会解决需求上的问题,所以创建完了,并没有使用。那么存在容器中就会造成资源的浪费。

到此这篇关于Java之Spring整合Junit的文章就介绍到这了,更多相关Spring整合Junit内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot嵌套子类使用方式—前端与后台开发的注意事项

    springboot嵌套子类使用方式—前端与后台开发的注意事项

    这篇文章主要介绍了springboot嵌套子类使用方式—前端与后台开发的注意事项,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 图解二叉树的三种遍历方式及java实现代码

    图解二叉树的三种遍历方式及java实现代码

    本篇文章主要介绍了图解二叉树的三种遍历方式及java实现代码,具有一定的参考价值,有兴趣的可以了解一下
    2017-07-07
  • JAVA为什么要使用封装及如何封装经典实例

    JAVA为什么要使用封装及如何封装经典实例

    这篇文章主要给大家介绍了关于JAVA为什么要使用封装及如何封装的相关资料,封装就是将属性私有化,提供公有的方法访问私有属性,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • Java 如何解决跨域问题

    Java 如何解决跨域问题

    这篇文章主要介绍了Java 如何解决跨域问题,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-03-03
  • Java支持方法重载的原因

    Java支持方法重载的原因

    今天给大家带来的是关于Java的相关知识,文章围绕着Java方法重载展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • 基于JavaMail API收发邮件的方法

    基于JavaMail API收发邮件的方法

    这篇文章主要介绍了基于JavaMail API收发邮件的方法,实例分析了javamail的使用方法与相关注意事项,非常具有实用价值,需要的朋友可以参考下
    2015-07-07
  • Java工程编码格式由GBK转化成utf-8的具体实现

    Java工程编码格式由GBK转化成utf-8的具体实现

    在写项目的过程中我发现有的地方编码格式被设置成了 gbk 如果用eclipse等工具直接改回utf-8编码格式则会出现乱码,所以本文给大家介绍了Java工程编码格式由GBK转化成utf-8的具体实现,感兴趣的朋友可以参考下
    2024-05-05
  • 一个简易的Java多页面队列爬虫程序

    一个简易的Java多页面队列爬虫程序

    这篇文章主要为大家详细介绍了一个多页面的java爬虫,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • SpringBoot创建监听器的方法示例

    SpringBoot创建监听器的方法示例

    在Java中,监听器(Listener)是一种设计模式,它允许对象在 特定事件 发生时 自动执行某些操作,这种设计模式通常用于实现 发布-订阅模型,本文给大家介绍了SpringBoot创建监听器的方法示例,感兴趣的通过可以参考一下
    2024-04-04
  • 关于springmvc-servlet中的配置小知识详解

    关于springmvc-servlet中的配置小知识详解

    这篇文章主要介绍了关于springmvc-servlet中的配置小知识详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12

最新评论