본문 바로가기

뇌/Diary

17/05/25

# spring interceptor의 preHandle, postHandle

preHandle은 controller 작업 전 수행

postHandle은 controller 작업 후 수행


# controller단에서 exception을 throw할 경우

(1) dispatcher에서 처리하게 된다.

저는 다음과 같이 exception resolver를 등록하여 Controller 에서 try catch로 예외를 잡지 않고, DispatcherServlet으로 모두 던집니다.

<!-- ============================================================= -->
<!-- exception resolver -->
<!-- ============================================================= -->
<bean class="com.kyu.svc.common.handler.CustomSimpleMappingExceptionResolver">
<property name="order" value="1" />
<property name="defaultErrorView" value="common/error/defaultError" />
<property name="exceptionMappings">
<props>
<prop key="BusinessLogicException">common/error/businessLogicError</prop>
<prop key="RuntimeException">common/error/runtimeError</prop>
<prop key="TypeMismatchException">common/error/defaultError</prop>
</props>
</property>
</bean>

<bean class="org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver">
<property name="order" value="2" />
</bean>
2013년 12월 12일 오전 9:47, Shin-Hyeong Song <ken...@gmail.com>님의 말:

(2) @ExceptionHandler를 에러 처리 메소드에 붙여 사용한다.

=>@ControllerAdvice가 붙은 Controller에서 @ExceptionHandler를 통해 Global 처리가능

https://www.slideshare.net/topcredu/exceptionhandler-controlleradvice


# java enum

개념(1) : http://www.nextree.co.kr/p11686/

개념(2) : https://opentutorials.org/module/516/6091

사용 : https://opentutorials.org/module/1226/8025

+ 추가내용

1
2
3
4
5
6
7
enum Fruit{
    APPLE("red"), PEACH("pink");
    public String color;
    Fruit(String color){
        this.color = color;
    }
}
cs

위 코드에서 APPLE("red")는 생성자를 호출하는 것이다.

' > Diary' 카테고리의 다른 글

17/05/24  (0) 2017.05.24
17/02/08  (0) 2017.02.08