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

Java之Spring整合Junit

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

1 測(cè)試類中的問(wèn)題和解決思路

1.1 問(wèn)題

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

1.2 解決思路分析

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

2 配置步驟

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

  • 此處需要注意的是,導(dǎo)入 jar 包時(shí),需要導(dǎo)入一個(gè) spring 中 aop 的 jar 包。

2.2 第二步:使用@RunWith 注解替換原有運(yùn)行器

@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 配置時(shí),需要用此屬性指定注解類的位置。

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

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

3 不把測(cè)試類配到 xml 中的原因

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    Java反射之靜態(tài)加載和動(dòng)態(tài)加載的簡(jiǎn)單實(shí)例

    下面小編就為大家?guī)?lái)一篇Java反射之靜態(tài)加載和動(dòng)態(tài)加載的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10
  • SpringBoot數(shù)據(jù)訪問(wèn)的實(shí)現(xiàn)

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

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

    使用maven命令安裝jar包到本地倉(cāng)庫(kù)的方法步驟

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

    簡(jiǎn)單通用JDBC輔助類封裝(實(shí)例)

    下面小編就為大家?guī)?lái)一篇簡(jiǎn)單通用JDBC輔助類封裝(實(shí)例)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-07-07
  • Java中判斷字符串是否相等的實(shí)現(xiàn)

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

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

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

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

最新評(píng)論