springboot 이상 처리 기본 규범
4720 단어 springboot이상 하 다처리 하 다.
프로젝트 의 개발 에서 밑바닥 의 데이터 논리 조작 과정 이 든 업무 논리의 처리 과정 이 든 통제 논리의 처리 과정 이 든 모두 예측 할 수 있 고 예측 할 수 없 는 각종 이상 을 만 날 수 밖 에 없다.이상 처 리 를 잘 하면 시스템 에 좋 은 보호 작용 을 하 는 동시에 사용자 의 체험 을 크게 향상 시 킬 것 이다.
이상 처리 분석
개술
자바 프로젝트 에서 이상 처리 방식 은 두 가지 가 아 닙 니 다.trycatch 작업 을 수행 하거나 throw 작업(다른 대상 에 게 던 져 처리)을 수행 합 니 다.어떤 방식 을 사용 하 든 그 목적 은 우리 시스템 이 이상 에 대해 피드백 을 하도록 하 는 것 입 니 다.그러나 현재 의 문 제 는 우리 가 어떻게 이런 피드백 코드 의 작성 을 간단 하면 서도 직관 적 이 고 우호 적 으로 만 드 느 냐 하 는 것 이다.
처리 규범
우 리 는 이상 을 처리 하 는 과정 에서 보통 일정한 디자인 규범 을 지 켜 야 한다.예 를 들 어:
4.567917.이상 을 포획 할 때 던 진 이상 과 완전히 일치 하거나 이상 을 포획 하 는 것 은 이상 한 부모 유형 입 니 다
준비 작업
첫 번 째 단계:프로젝트 나 module 을 만 들 고 웹 의존 도 를 추가 합 니 다.코드 는 다음 과 같 습 니 다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
두 번 째 단계:프로젝트 접근 포트 를 80 으로 수정 합 니 다.예 를 들 어
server.port=80
세 번 째 단계:컨트롤 러 클래스 를 정의 합 니 다.코드 는 다음 과 같 습 니 다.
package com.cy.pj.arithmetic.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class ArithmeticController {
@RequestMapping("doCompute/{n1}/{n2}")
@ResponseBody
public String doCompute(@PathVariable Integer n1,
@PathVariable Integer n2){
Integer result=n1/n2;
return "Result is "+result;
}
}
네 번 째 단계 시작 항목 에 대한 접근 테스트브 라 우 저 주소 표시 줄 에 입력http://localhost/doCompute/10/2출력 결 과 를 검사 합 니 다.
Result is 5
기본 이상 처리
브 라 우 저 주소 표시 줄 에 입력http://localhost/doCompute/10/0출력 결 과 를 검사 합 니 다.
이러한 기본 이상 처리(spring boot 제공)에 대해 서 는 사용자 체험 이 그다지 우호 적 이지 않 습 니 다.더욱 우호 적 인 이상 정 보 를 보 여주 기 위해 서 는 이상 에 대해 사용자 정의 처 리 를 해 야 합 니 다.
스스로 try 이상 처리
제어 층 방법 에서 우 리 는 try catch 처 리 를 할 수 있 습 니 다.예 를 들 어:
@RequestMapping("doCompute/{n1}/{n2}")
@ResponseBody
public String doCompute(@PathVariable Integer n1,
@PathVariable Integer n2){
try{
Integer result=n1/n2;
return "Result is "+result;
}catch(ArithmeticException e){
return "exception is "+e.getMessage();
}
}
하나의 Controller 클래스 에는 보통 여러 가지 방법 이 있 습 니 다.이 여러 가지 방법 에서 try 문 구 를 써 서 이상 처 리 를 하면 중복 코드 의 작성 을 가 져 올 수 있 습 니 다.유지 하기 가 쉽 지 않 습 니 다.컨트롤 러 내부 정의 이상 처리 방법
Controller 클래스 에 이상 처리 방법 을 추가 합 니 다.코드 는 다음 과 같 습 니 다.
@ExceptionHandler(ArithmeticException.class)
@ResponseBody
public String doHandleArithmeticException(ArithmeticException e){
e.printStackTrace();
return " , "+e.getMessage();
}
@ExceptionHandler 주석 설명 방법 은 이상 처리 방법(주석 에 있 는 이상 유형 은 처리 가능 한 이상 유형)입 니 다.만약 Controller 류 의 논리 적 방법 에 이상 이 생 긴 후 처리 이상 이 없 으 면 Controller 류 에 이상 처리 방법 이 정의 되 어 있 는 지,정의 되 어 있 으 면 던 진 이상 유형 을 처리 할 수 있 습 니 다.이상 처리 방법 으로 이상 을 처리 합 니 다.제어 층 의 전역 이상 처리 클래스 및 방법 정의
프로젝트 가 여러 개의 제어 층 류 에서 여러 개의 공통성 이상 처리 방법 으로 정 의 될 때 우 리 는 이러한 방법 을 공공 부모 대상 에서 추출 할 수 있 지만 이런 방식 은 강 한 결합 실현 으로 코드 유지 에 불리 하 다.또한 spring 프레임 워 크 에서 웹 모듈 이 정의 하 는 전역 이상 처리 규범 을 통 해 실현 할 수 있 습 니 다.예 를 들 어 전역 이상 처리 류 를 정의 할 수 있 습 니 다.코드 는 다음 과 같 습 니 다.
package com.cy.pj.common.web;
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(ArithmeticException.class)
public String doHandleArithmeticException(ArithmeticException e){
e.printStackTrace();
return " , "+e.getMessage();
}
}
그 중에서@RestController Advice 주해 에서 설명 한 종 류 는 전역 이상 처리 류 입 니 다.제어 층 방법 중의 이상 이 스스로 포착 되 지 않 았 고 내부 의 이상 처리 방법 도 정의 되 지 않 았 습 니 다.바 텀 기본 값 은 전체 이상 처리 류 를 찾 아 대응 하 는 이상 처리 방법 을 호출 하여 이상 처 리 를 합 니 다.총결산
spring boot 이상 처리 기본 규범 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 spring boot 이상 처리 규범 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin Springboot -- 파트 14 사용 사례 REST로 전환하여 POST로 JSON으로 전환前回 前回 前回 記事 の は は で で で で で で を 使っ 使っ 使っ て て て て て リクエスト を を 受け取り 、 reqeustbody で 、 その リクエスト の ボディ ボディ を を 受け取り 、 関数 内部 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.