본문으로 바로가기

Spring 이론(재) - AOP

category 웹/Spring 2019. 7. 21. 14:45

Controller의 예외 처리

  • @ExceptionHandler@ControllerAdvice를 이용
  • @ResponseEntity를 이용하는 예외 메시지 구성
@ControllerAdvice

이는 AOP를 이용합니다.

 

2019/05/03 - [웹/Spring] - AOP 개념

 

AOP 개념

AOP는 관점 지향 프로그래밍이라고 불립니다. 즉 관심사라는 용어인데 코드를 작성하면서 고려해야 하는 사항 들이라고 할 수 있습니다. 파라미터가 올바른지?? 적절한 권한인지? 예외는 어떻게 처리하는지 ?? 핵..

dlwjdcks5343.tistory.com

AOP를 사용하지 않는다면 컨트롤러를 만들어 줄 때마다 해당 에러처리를 중복적이고 많은 양의 코드를 작성해야합니다.

 

이를 방지하기위해서 AOP를 이용합니다.

 

우선 CommonExceptionAdvice 클래스를 작성합니다.

 

@ControllerAdvice
@Log4j
public class CommonExceptionAdvice{
	
    @ExceptionHandler(Exception.class)
    public String except(Exception ex, Model model){
    	model.addAttribute("exception",ex);
        return "error_page";
    }
}

익셉션헨들러로 익셉션클래스를 지정해줄 수 있습니다.

 

servlet-context.xml에다가 해당 익셉션을 스캔할 수 있도록 

<context:component-scan base-package="org.xxxx.exception"/>

view에 error_page.jsp를 작성해야합니다. 받은 exception을 통해 작성하면 됩니다.