예외 처리는 애플리케이션을 만드는데 매우 중요한 부분을 차지한다. Spring 프레임워크는 매우 다양한 에러 처리 방법을 제공하는데, 어떠한 방법들이 있고 가장 좋은 방법(Best Practice)은 무엇인지 살펴보도록 하자. 1. 스프링의 기본적인 예외 처리 방법 Spring이 제공하는 다양한 예외 처리 방법들을 살펴보기 전에, 먼저 우리가 개발한 Controller에서 발생한 예외를 Spring은 기본적으로 어떻게 처리하고 있는지 살펴보도록 하자. 아래의 내용들은 SpringBoot를 기반으로 설명된다. [ Spring의 기본적인 예외 처리 방식(SpringBoot) ] 예를 들어 우리가 만든 다음과 같은 컨트롤러가 있다고 하자. @RestController @RequiredArgsConstructo..
벌써 신입 개발자로 첫 해를 보냈던 2021년을 마무리하는 시간이 되었습니다. 2021년 한 해를 되돌아보면서, 작년의 목표가 잘 지켜졌는지 확인해보고 2022년에 대한 목표를 잡아보고자 합니다. 내년 초에도 마찬가지로 아래의 내용을 돌이켜 보면서 목표가 잘 지켜졌는지 회고하고, 새로운 목표를 잡을 계획입니다. 1. 2021년 목표 회고 [ 원리를 기반으로 한 공부 ] 2021년에 원리를 기반으로 한 공부를 하자는 목표를 잡았다. 그리고 이번 한 해동안 토비의 스프링과 많은 책들을 기반으로 Spring에 대해 깊이있는 공부를 하면서 목표를 잘 지킨 것 같다는 생각이 든다. 원리를 기반으로 스프링에 대한 많은 부분을 공부하다보니 사내 프로젝트의 통합 테스트 환경을 구축하거나 의존성 정리를 할 때 많은 도움..
앞선 포스팅에서는 Optional의 개념과 문법을 살펴보았습니다. Optional은 Null이 될 수 있는 객체를 감싸는 Wrapper 클래스이기 때문에 비용이 발생합니다. 그래서 Optional은 필요한 경우에만 사용하는 것이 합리적인데, 언제 사용하면 좋을지 살펴보도록 하겠습니다. 1. 언제 Optional을 사용해야 하는가? [ Optional이 만들어진 이유와 의도 ] Java8부터 Null이나 Null이 아닌 값을 저장하는 컨테이너 클래스인 Optional이 추가되었다. Java 언어의 아키텍트(설계자)인 Brian Goetz는 Optional에 대해 다음과 같이 정의하였다. Optional is intended to provide a limited mechanism for library met..