# 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")는 생성자를 호출하는 것이다.