728x90

Spring 19

[ Spring ] 예외 처리와 오류 페이지 - Servlet Exception Handling(오류 페이지 작동 원리)

오늘부터 예외 처리와 오류 페이지 적용 및 작동 원리에 대해 포스팅을 진행해 보겠습니다. 예외를 처리하거나 핸들링하는 방법은 실무에서는 꼭 필요한 챕터입니다. 그래서 서블릿부터 시작해서 API 예외 처리하는 방법까지 이어서 진행해 보겠습니다. 프로젝트 생성 포스팅에서 사용되는 프로젝트는 Spring boot로 진행되며 Dependencies 목록은 다음과 같습니다. plugins { id 'org.springframework.boot' version '2.5.1' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'hello' version = '0.0.1-SNAPSHOT' sourceCompatibility..

[ Spring ] Spring Interceptor - 인증 체크 / ArgumentResolver 활용

오늘은 서블릿 필터에서 사용했던 인증 체크 기능을 스프링 인터셉터로 개발해 보고 ArgumentResolver를 활용해 보겠습니다. LoginCheckInterceptor import hello.login.web.SessionConst; import lombok.extern.slf4j.Slf4j; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @Slf4j public class LoginCheckIntercepto..

[ Spring ] Spring Interceptor - 요청 로그

이어서 Spring Interceptor 포스팅을 이어가겠습니다. 이전 포스팅에서 Spring Interceptor의 개념에 대해 알아봤습니다. [ Spring ] Spring Interceptor - 소개 Spring Interceptor는 Servlet Filter와 같이 WEB과 관련된 공통 관심 사항을 효과적으로 해결할 수 있는 기술입니다. Servlet Filter가 Servlet이 제공하는 기술이라면, Spring Interceptor는 SpringMVC가 제공하는 기술 drg2524.tistory.com 오늘은 요청 로그를 인터셉터해서 출력해 보겠습니다. 요청 로그 인터셉터 생성 - LogInterceptor 예제로 사용될 예제 코드를 먼저 알아보겠습니다. import lombok.exter..

[ Spring ] Spring Interceptor - 소개

Spring Interceptor는 Servlet Filter와 같이 WEB과 관련된 공통 관심 사항을 효과적으로 해결할 수 있는 기술입니다. Servlet Filter가 Servlet이 제공하는 기술이라면, Spring Interceptor는 SpringMVC가 제공하는 기술입니다. 둘 다 WEB과 관련된 공통 관심 사항을 처리하지만, 적용되는 순서와 범위, 그리고 사용방법이 다릅니다. 오늘은 SpringMVC가 제공하는 Interceptor에 대해 알아보겠습니다. Spring Interceptor 흐름 Spring Interceptor의 흐름에 대해 먼저 알고 넘어가자면 다음과 같습니다. HTTP 요청 -> WAS -> Filter -> Servlet -> Spring Interceptor -> Co..

[ Spring ] @SessionAttribute Session Search

오늘은 Spring에서 Session을 더 편리하게 사용할 수 있도록 지원해 주는 @SessionAttribute 애노테이션을 포스팅해보겠습니다. @SessionAttribute 란? @SessionAttribute는 Controller 밖에서 만들어준 Session 데이터에 접근할 때 사용합니다. (Interceptor , Filter 등) Session은 여러 화면이나 요청에서 사용해야 하는 객체를 공유할 때 사용할 수 있는데, HttpSession으로 객체 자체를 값을 넣어줄 수 있고, 사용할 수 있습니다. 해당 HttpSession보다 더 추상화된 방법으로 사용되는 것이 @SessionAttribute 애노테이션입니다. 간단한 조회 메서드를 통해서 알아보자면 @GetMapping("/") publ..

[ Spring Boot ] Spring Security - 기본 개념 및 예제

취준 활동을 끝내고 백엔드 개발자로 경력을 쌓기 위한 회사를 찾기 위해 이곳저곳 면접을 다니고, 회사 소스 코드 파악 및 프로젝트 투입 준비를 하다 보니 블로그를 소홀하게 관리했네요.. 오늘부터 다시 마음 잡고 시작해보려고 합니다. 대부분의 시스템에서는 회원의 관리를 하고 있고, 그에 따른 인증(Authentication)과 인가(Authorization)에 대한 처리를 해주어야 하는데, 오늘은 Spring에서 별도의 프레임워크를 제공하는 Spring Security에 대한 개념부터 Validation-Check 로직 구현까지 Security 포스팅을 작성해 보겠습니다. 입사 후 코딩 실력 체크를 위한 3가지의 과제를 진행하면서 기획 부분부터 잡고 시작했던 security 기능에 대해 자세히 파해쳐 봅시..

[ Spring ] 싱글톤 컨테이너

오늘은 김영한님의 스프링 핵심원리 강의 - 싱글톤 컨테이너 파트의 정리글을 작성해보겠습니다. 강의를 통해서 자연스럽게 코드로 좋은 객체지향의 원리(SOLID)와 IoC, DI에 대해서 이해하고, 또 스프링 컨테이너가 왜 필요한 지 깨달을 수 있었습니다. 또한 스프링의 본실에 대해서 깊이 있는 이해를 할 수 있는 공부였고, 객체 지향 애플리케이션의 설계와 아키텍처 레벨까지 고민하는 개발자로 성장할 수 있는 좋은 공부였습니다. 전체 코드는 아래 깃허브를 참고해 보시면 됩니다. GitHub - KiHwanY/Spring_Core_Principle: 김영한님의 스프링 핵심 원리 강의 김영한님의 스프링 핵심 원리 강의. Contribute to KiHwanY/Spring_Core_Principle developm..

[ Spring ] MappingJacksonValue

오늘은 Spring Framework에서 제공해 주는 MappingJacksonValue 클래스에 대해 포스팅을 해보겠습니다. MappingJacksonValue 란? MappingJacksonValue 는 JSON Serialization(직렬화)을 처리하는 데 사용되며, 주로 Spring MVC(혹은 Spring WebFlux) 기반의 웹 애플리케이션에서 Java 객체를 JSON으로 변환하거나, 반대로 JSON 데이터를 Java 객체로 변환하는 데 사용됩니다. Spring에서는 기본적으로 Jackson 라이브러리를 내부적으로 사용하여 JSOn 데이터를 처리하는데, Jackson은 Java 객체를 JSON으로 변환하고, JSON 데이터를 Java 객체로 변환하는데 매우 효율적이고 강력한 라이브러리입니다..

[ RESTful API ] EntityModel 개념 및 예제

오늘은 RESTful API를 공부하던 중 사용하게 된 EntityModel 에 대해 포스팅을 해보겠습니다. EntityModel EntityModel은 스프링 프레임워크에서 HATEOAS(Hypermedia as the Engine of Application State)를 지원하기 위해 도입된 클래스입니다. HATEOAS는 RESTful API에서 클라이언트와 서버 간 상호작용을 위해 하이퍼미디어를 사용하는 개념을 강조하는 아키텍처 스타일입니다. 또한 리소스를 표현하는 데 사용되는 클래스로, Spring HATEOAS 라이브러리에서 제공하는 클래스 중 하나입니다. 하나의 Entity(data)를 표현하는 데 사용되며, 해당 Entity의 데이터와 함께 Hypermedia Links를 포함할 수 있습니다..

728x90