목록Tech (11)
우당탕탕
ControllerAdvice와 ExceptionHandler에 대해 @ExceptionHandler란? @ExceptionHandler란 Bean에서 발생하는 예외를 잡아 하나의 메서드에서 처리해주는 어노테이션이다. ExceptionHandler 어노테이션에 설정한 예외가 발생한다면 해당 handler가 작동하며 어노테이션 옆에 value 값을 줘서 캐치할 예외를 설정해 줄 수 있다. ( 여러 예외를 한 곳에 넣을 수도 있다 ) 해당 내용은 아래의 코드를 통해 확인해보자 @RestController public class ExceptionController { // 한개만 설정할 경우 @ExceptionHandler(NullPointerException.class) public String allExc..
IoC와 DI란? 스프링을 사용하면 IoC와 DI라는 단어를 많이 듣게 된다. IoC와 DI는 뭘까?? IoC(Inversion of Control)란? IoC란 영어 그대로 제어의 역전이라 부른다. 제어의 역전이란 메서드나 객체의 호출 작업을 개발자가 아닌 스프링에게 제어권을 넘기는 것을 말한다. 이전까지는 개발자가 객체의 생성을 관리하며 제어했지만, 스프링을 사용하게 되면 스프링 컨테이너에게 제어권을 넘겨 스프링 컨테이너가 흐름을 제어하게 된다. DI(Dependency Injection)란? DI란 의존성 주입이라 부르며, 객체를 직접 생성하는 게 아닌 외부(IOC 컨테이너)에서 생성한 후 주입시켜주는 방식이다. 의존성 주입 방식으로는 3가지 방법이 존재한다 생성자 주입 ( Constructor I..
플러터란? 대학생 시절 나는 GDSC(Google Developer Student Club) 동아리 활동을 진행하면서 플러터에 대해 알게 되었다. 플러터를 사용해서 앱개발도 진행했었고 현재 출시한 앱 산타의 경우도 초기버전의 경우 완전한 네이티브로 구현했었다. ( 현재는 플러터 웹뷰 ) 초기버전 : https://github.com/Kimbeomchul/HikingMobileApp Flutter란? 플러터는 구글에서 개발한 오픈소스 크로스 플랫폼 GUI 애플리케이션 프레임워크이다. Mobile World Congress 2018에 베타버전을 발표하면서 새롭게 소개된 프레임워크이다. ( 나같은경우에는 2019년에 처음 사용했으니 거의 나오자마자 썼다.. ) 플러터의 특징으로는 크로스플랫폼(Cross-Pla..
필터와 인터셉터의 차이는? 필터와 인터셉터 필터와 인터셉터에 관한 내용도 면접 내용으로 많이 나오는 질문이다. 그럼 필터와 인터셉터가 하는 일은 무엇일까? 간단하게 말하면 컨트롤러로 들어가기 이전에 처리해야 할 작업들을 수행하는 것이다. 공통된 작업들을 해결하기 위해서는 필터, 인터셉터, AOP를 사용할 수 있지만 이번 글에서는 필터와 인터셉터에 대해 설명해보려 한다. 필터 일단 필터는 J2EE 표준 스펙의 기능이며, 클라이언트의 요청이 들어올 때 Web Context영역 안에서 디스패처 서블릿(Dispatcher Servlet)에 요청이 전달되기 전/후에 URL 패턴에 맞는 모든 요청에 대해 부가 작업을 처리할 수 있는 기능을 제공한다. ( 말로는 어려우니 아래 사진으로 ) 필터 흐름의 경우 아래와 같..
디스패처 서블릿이란 무엇인가? 디스패처 서블릿 디스패처 서블릿이란 서블릿 컨테이너의 가장 앞단에서 HTTP 프로토콜로 들어오는 모든 요청을 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러이다. 프론트 컨트롤러란? 프론트 컨트롤러(Front Controller)란 서블릿 컨테이너의 제일 앞에서 서버로 들어오는 클라이언트의 모든 요청을 받아서 처리해주는 컨트롤러이다. 프론트 컨트롤러가 도입되기 전에는 각 컨트롤러마다 공통 로직을 복붙 형식으로 다시 작성하여 사용했지만, 프론트 컨트롤러가 도입된 이후에는 공통의 로직에 대한 처리가 가능해졌다. 디스패처 서블릿의 흐름 ( Spring MVC 동작순서 ) 백엔드 개발자 면접 질문으로도 가끔 등장하는 디스패처 서블릿의 흐름이다. 스프링 부트에서는 스프링 부트..