Spring 4

[Spring] Resolver 구현

HandlerMethodArgumentResolver HandlerMethodArgumentResolver는 Interface로써, Controller의 Argument(Parameter)에 지정된 변수들을, Annotation이나 객체의 Type에 따라서 Resolver를 먼저 거쳐, 실제 Data를 Controller에 넘겨주는 역할을 수행한다. Controller에 들어오는 Argument(Parameter)를 가공(암호화 > 복호화) 하거나, Argument(Parameter)를 추가하거나 수정해야 하는 경우에 사용한다. 실제 해당 Interface의 형태는 아래와 같다. /** * Strategy interface for resolving method parameters into argument..

[@Spring] @ExceptionHandler와 @ControllerAdvice

우리는 기존에 에러를 핸들링 하기 위해서 try-catch를 사용했다. Spring에서는 이러한 것을 편하게 해결하기 위해 지원가능 기능이 있는데 이것이 바로 @ExceptionHandler이다. @Controller public class SimpleController { // ... @ExceptionHandler(CustomException.class) public ResponseEntity handle(IOException ex) { // ... } } 해당 컨트롤러에서 비즈니스 로직을 수행하다가 CustomException이 발생하면 해당 애너테이션이 붙어있는 메서드가 실행되어 에러를 처리하게 된다. 여기서 추가적으로 Controller에서 작성하는 것이 아니라 분리를 해서 처리를 할 수 있는데..

[Spring Boot/IntelliJ IDEA] ep02. Skeleton Project 구성 파악

지난 ep01. Spring Boot Project Import에서 스프링부트 프로젝트를 웹에서 간단하게 생성하고, 인텔리제이에 import까지 시켜보았다. https://devsyw.tistory.com/3?category=874223 참조 [Spring Boot/IntelliJ IDEA] ep01. Spring Boot Project Import 저는 지금까지 STS, 전자정부프레임워크 등 이클립스 기반 Spring Framework로 개발을 해왔습니다. 하지만 나는 아직 대학생이기에(야간..) 학생 라이센스로 IntelliJ IDEA를 설치할 수 있었습니다!! 오늘� devsyw.tistory.com 바로 개발을 해도 무관하지만 일단 기본적인 프로젝트 구성이 어떻게 되어있는지를 살펴보자(Skelet..

[Spring Boot/IntelliJ IDEA] ep01. Spring Boot Project Import

저는 지금까지 STS, 전자정부프레임워크 등 이클립스 기반 Spring Framework로 개발을 해왔습니다. 하지만 나는 아직 대학생이기에(야간..) 학생 라이센스로 IntelliJ IDEA를 설치할 수 있었습니다!! 오늘을 기점으로 springboot to intellij 토이프로젝트를 진행하며 intellij 적응기를 기록해보려 합니다. 그럼 시작하겠습니다. start.spring.io 링크 접속 해당 링크에 접속을 하면 SpringBoot Project를 간단하게 생성할 수 있다. 위와같이 개발환경을 설정했다. 수 많은 SI나 연식?이 오래된 회사에서는 아직까지도 Maven Project를 선호하며 실제로 많이 쓰이고 있다. 하~~지만! 대세는 Gradle이라고 하니 과감히 선택! (원래 맞으면서..