欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java之Spring整合Junit

 更新時間:2023年04月06日 11:54:07   作者:JiangTao_xlili  
Java Spring框架是一個輕量級的開源框架,具有很高的凝聚力和吸引力,本篇文章帶你了解如何配置數(shù)據(jù)源、注解開發(fā)以及整合Junit

1 測試類中的問題和解決思路

1.1 問題

  • 在測試類中,每個測試方法都有以下兩行代碼:
    • ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
    • IAccountService as = ac.getBean("accountService",IAccountService.class);
  • 這兩行代碼的作用是獲取容器,如果不寫的話,直接會提示空指針異常。所以又不能輕易刪掉。

1.2 解決思路分析

  • 針對上述問題,需要的是程序能自動創(chuàng)建容器。
  • junit無法知曉是否使用了 spring 框架,無法創(chuàng)建 spring 容器了,但junit 暴露了一個注解,可以替換掉它的運行器。
  • 需要依靠 spring 框架提供的運行器,可以讀取配置文件(或注解)來創(chuàng)建容器,只需要告訴它配置文件在哪就行了。

2 配置步驟

2.1 第一步:拷貝整合 junit 的必備 jar 包到 lib 目錄

  • 此處需要注意的是,導(dǎo)入 jar 包時,需要導(dǎo)入一個 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 屬性:用于指定注解的類。當(dāng)不使用 xml 配置時,需要用此屬性指定注解類的位置。

 2.4 第四步:使用@Autowired 給測試類中的變量注入數(shù)據(jù)

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

3 不把測試類配到 xml 中的原因

  • 第一:當(dāng)在 xml 中配置了一個 bean,spring 加載配置文件創(chuàng)建容器時,就會創(chuàng)建對象。
  • 第二:測試類只是在測試功能時使用,而在項目中它并不參與程序邏輯,也不會解決需求上的問題,所以創(chuàng)建完了,并沒有使用。那么存在容器中就會造成資源的浪費。

到此這篇關(guān)于Java之Spring整合Junit的文章就介紹到這了,更多相關(guān)Spring整合Junit內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java SpringSecurity入門案例與基本原理詳解

    Java SpringSecurity入門案例與基本原理詳解

    這篇文章主要介紹了java中Spring Security的實例詳解的相關(guān)資料,spring security是一個多方面的安全認(rèn)證框架,提供了基于JavaEE規(guī)范的完整的安全認(rèn)證解決方案,需要的朋友可以參考下
    2021-09-09
  • 淺談java基本數(shù)據(jù)類型的范圍(分享)

    淺談java基本數(shù)據(jù)類型的范圍(分享)

    下面小編就為大家?guī)硪黄獪\談java基本數(shù)據(jù)類型的范圍(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 淺談JVM 底層解析 i++和 ++i 區(qū)別

    淺談JVM 底層解析 i++和 ++i 區(qū)別

    這篇文章主要介紹了JVM 底層解析 i++和 ++i 區(qū)別,需要的朋友可以參考下面文章的具體內(nèi)容
    2021-09-09
  • Mybatis之通用Mapper動態(tài)表名及其原理分析

    Mybatis之通用Mapper動態(tài)表名及其原理分析

    這篇文章主要介紹了Mybatis之通用Mapper動態(tài)表名及其原理分析,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Java反射之靜態(tài)加載和動態(tài)加載的簡單實例

    Java反射之靜態(tài)加載和動態(tài)加載的簡單實例

    下面小編就為大家?guī)硪黄狫ava反射之靜態(tài)加載和動態(tài)加載的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • SpringBoot數(shù)據(jù)訪問的實現(xiàn)

    SpringBoot數(shù)據(jù)訪問的實現(xiàn)

    本文主要介紹了SpringBoot數(shù)據(jù)訪問的實現(xiàn),引入各種xxxTemplate,xxxRepository來簡化我們對數(shù)據(jù)訪問層的操作,感興趣的可以了解一下
    2023-11-11
  • 使用maven命令安裝jar包到本地倉庫的方法步驟

    使用maven命令安裝jar包到本地倉庫的方法步驟

    這篇文章主要介紹了使用maven命令安裝jar包到本地倉庫的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 簡單通用JDBC輔助類封裝(實例)

    簡單通用JDBC輔助類封裝(實例)

    下面小編就為大家?guī)硪黄唵瓮ㄓ肑DBC輔助類封裝(實例)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • Java中判斷字符串是否相等的實現(xiàn)

    Java中判斷字符串是否相等的實現(xiàn)

    這篇文章主要介紹了Java中判斷字符串是否相等的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • pom文件中${project.basedir}的使用

    pom文件中${project.basedir}的使用

    這篇文章主要介紹了pom文件中${project.basedir}的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評論