国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot異常處理和單元測(cè)試

這篇具有很好參考價(jià)值的文章主要介紹了SpringBoot異常處理和單元測(cè)試。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

SpringBoot異常處理

自定義錯(cuò)誤頁(yè)面

SpringBoot默認(rèn)的處理異常的機(jī)制:SpringBoot 默認(rèn)的已經(jīng)提供了一套處理異常的機(jī)制。一旦程序中出現(xiàn)了異常 SpringBoot 會(huì)向/error 的 url 發(fā)送請(qǐng)求。在 springBoot 中提供了一個(gè)叫 BasicErrorController 來處理/error 請(qǐng)求,然后跳轉(zhuǎn)到默認(rèn)顯示異常的頁(yè)面來展示異常信息

如 果我 們 需 要 將 所 有 的 異 常 同 一 跳 轉(zhuǎn) 到 自 定 義 的 錯(cuò) 誤 頁(yè) 面 , 需 要 再src/main/resources/

templates 目錄下創(chuàng)建 error.html 頁(yè)面。注意:名稱必須叫 error

controller

/**
 * SpringBoot處理異常方式一:自定義錯(cuò)誤頁(yè)面
 */
@Controller
public class DemoController {
	
	@RequestMapping("/show")
	public String showInfo(){
		String str = null;
		str.length();
		return "index";
	}
	
	@RequestMapping("/show2")
	public String showInfo2(){
		int a = 10/0;
		return "index";
	}
}

錯(cuò)誤頁(yè)面

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>錯(cuò)誤提示頁(yè)面</title>
</head>
<body>
	出錯(cuò)了,請(qǐng)與管理員聯(lián)系。。。
	<span th:text="${error}"></span>
</body>
</html>

整合web訪問全局異常處理器

創(chuàng)建全局異常處理器

/**
 * 通過實(shí)現(xiàn)HandlerExceptionResolver接口做全局異常處理
 */
@Component
public class GlobalException implements HandlerExceptionResolver {

	@Override
	public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,Exception ex) {
		ModelAndView mv = new ModelAndView();
		//判斷不同異常類型,做不同視圖跳轉(zhuǎn)
		if(ex instanceof ArithmeticException){
			mv.setViewName("error1");
		}
		
		if(ex instanceof NullPointerException){
			mv.setViewName("error2");
		}
		mv.addObject("error", ex.toString());
		
		return mv;
	}
}

錯(cuò)誤頁(yè)面

error1.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>錯(cuò)誤提示頁(yè)面-ArithmeticException</title>
</head>
<body>
	出錯(cuò)了,請(qǐng)與管理員聯(lián)系。。。
	<span th:text="${error}"></span>
</body>
</html>

error2.html文章來源地址http://www.zghlxwxcb.cn/news/detail-801001.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>錯(cuò)誤提示頁(yè)面-NullPointerException</title>
</head>
<body>
	出錯(cuò)了,請(qǐng)與管理員聯(lián)系。。。
	<span th:text="${error}"></span>
</body>
</html>

整合ajax全局異常處理

創(chuàng)建全局異常處理器

@ControllerAdvice
public class AjaxGlobalException {
 
 
    /**
     * 處理全局異常
     * @param exception   異常
     * @return Map<String, Object>
     */
    @ResponseBody
    @ExceptionHandler(value = Exception.class)
    public Map<String, Object> errorHandler(Exception exception) {
        Map<String, Object> map = new HashMapMap<>();
        map.put("status", 500);
        map.put("msg", exception.getMessage());
        return map;
    }
}

Spring Boot整合Junit

Junit啟動(dòng)器

		<!--junit啟動(dòng)器 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
		</dependency>

編寫業(yè)務(wù)代碼

dao

@Repository
public class UserDaoImpl {

	public void saveUser(){
		System.out.println("insert into users.....");
	}
}

service

@Service
public class UserServiceImpl {

	@Autowired
	private UserDaoImpl userDaoImpl;
	
	public void addUser(){
		this.userDaoImpl.saveUser();
	}
}

app

@SpringBootApplication
public class App {

	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}
}

整合Junit

/**
 *  main方法:
 *		ApplicationContext ac=new 
 *       			ClassPathXmlApplicationContext("classpath:applicationContext.xml");
 *  junit與spring整合:
 *      @RunWith(SpringJUnit4ClassRunner.class):讓junit與spring環(huán)境進(jìn)行整合
 *   	@Contextconfiguartion("classpath:applicationContext.xml")  
 */
@RunWith(SpringJUnit4ClassRunner.class) 
@SpringBootTest(classes={App.class})
public class UserServiceTest {

	@Autowired
	private UserServiceImpl userServiceImpl;
	
	@Test
	public void testAddUser(){
		this.userServiceImpl.addUser();
	}
}

到了這里,關(guān)于SpringBoot異常處理和單元測(cè)試的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Spring Boot】單元測(cè)試

    單元測(cè)試在日常項(xiàng)目開發(fā)中必不可少,Spring Boot提供了完善的單元測(cè)試框架和工具用于測(cè)試開發(fā)的應(yīng)用。接下來介紹Spring Boot為單元測(cè)試提供了哪些支持,以及如何在Spring Boot項(xiàng)目中進(jìn)行單元測(cè)試。 單元測(cè)試主要用于測(cè)試單個(gè)代碼組件,以確保代碼按預(yù)期方式工作。目前流行的

    2024年02月16日
    瀏覽(18)
  • Spring Boot單元測(cè)試

    Spring Boot單元測(cè)試

    ??????SSM專欄更新中,各位大佬覺得寫得不錯(cuò),支持一下,感謝了!?????? Spring + Spring MVC + MyBatis_冷兮雪的博客-CSDN博客 Spring Boot 中進(jìn)行單元測(cè)試是一個(gè)常見的做法,可以幫助你驗(yàn)證應(yīng)用程序的各個(gè)組件是否按預(yù)期工作。所以我們有必要去學(xué)習(xí)一番! 單元測(cè)試

    2024年02月13日
    瀏覽(19)
  • Spring Boot異常處理!??!
  • Spring Boot異常處理

    Spring Boot異常處理

    ????????SpringBoot默認(rèn)的處理異常的機(jī)制:SpringBoot 默認(rèn)的已經(jīng)提供了一套處理異常的機(jī)制。一旦程序中出現(xiàn)了異常 SpringBoot 會(huì)向/error 的 url 發(fā)送請(qǐng)求。在 springBoot 中提供了一個(gè)叫 BasicErrorController 來處理/error 請(qǐng)求,然后跳轉(zhuǎn)到默認(rèn)顯示異常的頁(yè)面來展示異常信息。 如 果我

    2024年01月17日
    瀏覽(22)
  • Spring boot 集成單元測(cè)試

    Spring boot 集成單元測(cè)試

    1.引入依賴 2. ?3.編寫測(cè)試類

    2024年02月11日
    瀏覽(22)
  • Junit 單元測(cè)試之錯(cuò)誤和異常處理

    錯(cuò)誤和異常處理是測(cè)試中非常重要的部分。假設(shè)我們有一個(gè)服務(wù),該服務(wù)從數(shù)據(jù)庫(kù)中獲取用戶?,F(xiàn)在,我們要考慮的錯(cuò)誤場(chǎng)景是:數(shù)據(jù)庫(kù)連接斷開。 首先,為了簡(jiǎn)化,我們讓服務(wù)層就是簡(jiǎn)單的類,然后使用Id查找用戶,這個(gè)和之前測(cè)試UserService接口不太一樣哦: 現(xiàn)在,我們要

    2024年02月08日
    瀏覽(12)
  • 記錄spring boot 異常處理

    這個(gè)異常通常表示在映射文件中出現(xiàn)了重復(fù)的別名定義 命名規(guī)范:在定義別名時(shí),建議采用一致的命名規(guī)范。例如,使用首字母大寫的駝峰命名法或者全小寫的下劃線命名法,這樣可以避免不同開發(fā)人員或團(tuán)隊(duì)在命名時(shí)產(chǎn)生沖突。 預(yù)留前綴:可以在別名前加上特定的前綴,

    2024年01月21日
    瀏覽(54)
  • Spring Boot單元測(cè)試入門指南

    Spring Boot單元測(cè)試入門指南

    JUnit是一個(gè)成熟和廣泛應(yīng)用的Java單元測(cè)試框架,它提供了豐富的功能和靈活的擴(kuò)展機(jī)制,可以幫助開發(fā)人員編寫高質(zhì)量的單元測(cè)試。通過JUnit,開發(fā)人員可以更加自信地進(jìn)行重構(gòu)、維護(hù)和改進(jìn)代碼,同時(shí)提高代碼質(zhì)量和可維護(hù)性。 在使用Spring Boot進(jìn)行單元測(cè)試時(shí),以下是一些

    2024年02月15日
    瀏覽(24)
  • 三個(gè)要點(diǎn),掌握Spring Boot單元測(cè)試

    三個(gè)要點(diǎn),掌握Spring Boot單元測(cè)試

    單元測(cè)試是軟件開發(fā)中不可或缺的重要環(huán)節(jié),它用于驗(yàn)證軟件中最小可測(cè)試單元的準(zhǔn)確性。 結(jié)合運(yùn)用Spring Boot、JUnit、Mockito和分層架構(gòu),開發(fā)人員可以更便捷地編寫可靠、可測(cè)試且高質(zhì)量的單元測(cè)試代碼,確保軟件的正確性和質(zhì)量。 本文將從與單元測(cè)試相關(guān)的技術(shù)主題開始,

    2024年02月08日
    瀏覽(25)
  • Spring Boot 做單元測(cè)試,真心強(qiáng)悍!

    Spring Boot 做單元測(cè)試,真心強(qiáng)悍!

    Spring Boot 提供了豐富的測(cè)試功能,主要由以下兩個(gè)模塊組成: spring-boot-test :提供測(cè)試核心功能。 spring-boot-test-autoconfigure :提供對(duì)測(cè)試的自動(dòng)配置。 Spring Boot 提供了一個(gè)? spring-boot-starter-test 一站式啟動(dòng)器,如以下依賴配置所示。 測(cè)試啟動(dòng)器依賴不僅包含以上兩個(gè) Spring Bo

    2024年02月04日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包