스프링 3

[Spring] Spring Framework vs Spring Boot

스프링 프레임워크와 스프링 부트의 차이는 무엇일까? 스프링 부트 공식문서에 따르면 스프링 부트는 다음과 같다고 한다. Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need minimal Spring configuration. 즉, 스프링 프레임워크는 기능이 많은만큼 환경설정이 복잡..

Spring 2023.01.03

[Spring] ArgumentResolver란?

ArgumentResolver가 필요한 상황 서비스를 운영하다보면 다양한 종류의 데이터를 받는다. 즉, 컨트롤러의 파라미터로 다양한 데이터가 온다는 것이다. 만약 사용자로부터 회원 id 요청이 들어왔지만 서버에서 필요한 정보는 회원이라면 어떻게 할까? 회원 id로 부터 회원정보를 조회해 회원 객체를 만들어주는 일련의 과정이 필요할 것이다. 이 때 사용되는것이 ArgumentResolver이다. Spring에서는 파라미터를 공통으로 처리할 수 있도록 구현된 인터페이스가 있는데, 그것을 바로 ArgumentResolver라고 부른다. 즉, 어떠한 요청이 컨트롤러에 들어왔을 때, 요청에 들어온 값으로부터 원하는 객체를 만들어내는 일을 ArgumentResolver이 간접적으로 해줄 수 있다. Spring Ar..

Spring 2022.11.18

[Spring] 필터와 인터셉터 (Filter vs Interceptor)

필터와 인터셉터 Filter vs Interceptor Spring은 공통적으로 여러 작업을 처리함으로써 중복된 코드를 제거할 수 있도록 많은 기능들을 지원하고 있다. 필터와 인터셉터가 그 중 하나이다. 여기서 말하는 공통의 관심사란 무엇일까? 다음과 같은 상황을 가정해보자. 로그인 한 사용자만 상품 관리 페이지에 들어갈 수 있다. 상품관리 컨트롤러에서 로그인 여부를 체크하는 로직을 하나하나 작성하면 되겠지만, 만일 등록, 수정, 삭제, 조회 등 컨트롤러가 늘어나면 어떻게 될까? 로그인 한 사용자인지 아닌지 체크하는 로직이 중복되어 들어갈 것이다. 이렇게 애플리케이션 여러 로직에서 공통으로 관심이 있는 것을 공통 관심사라고 한다. 여기서 등록, 수정, 삭제, 조회 등 여러 로직에서 공통으로 인증에 대해서..

Spring 2022.11.16