개요 [Spring] Spring에 Redis를 사용하는 방법개요 개인 프로젝트에서 Refresh Token 정보를 In-memory DB로 저장하기로 결정하였다. 이 글에서는 Spring에서 Redis를 사용하는 방법을 알아보고, 프로젝트에 어떻게 적용시켰는지 설명하려고 한다. Sprindavidy87.tistory.com 저번 글에서 Spring에 Redis를 연동하여 사용하는 방법에 대해 알아보았다. 글의 내용 중에서 Redis를 프로젝트에 사용하는 방법에는 RedisTemplate과 RedisRepository가 있다고 설명하였다. 이후에 문득, RedisTemplate과 RedisRepository를 사용하는 것은 과연 성능 차이가 있을까? 라는 궁금증이 생겼고, 이를 해..
Spring

개요 개인 프로젝트에서 pagination을 구현하면서 @PageableDefault 라는 애노테이션을 새로 알게 되었다. 이번 글에서는 이 애노테이션이 어떤 기능을 제공하는지, 현재 프로젝트에서 이 기능을 어떻게 적용했는지 설명하도록 하겠다. @PagableDefault 란? @PageableDefault 애노테이션은 controller 메서드에서 Pagable 객체가 주입될 시, 해당 객체의 값이 전달되지 않을 경우에 기본값을 자동으로 설정해주는 기능을 제공한다. @PagableDefault 코드를 자세히 살펴보자. @Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.PARAMETER) public @interface Pageabl..

개요 개인 프로젝트에서 Refresh Token 정보를 In-memory DB로 저장하기로 결정하였다. 이 글에서는 Spring에서 Redis를 사용하는 방법을 알아보고, 프로젝트에 어떻게 적용시켰는지 설명하려고 한다. Spring Data Redis Spring Data Redis는 Spring Data JPA 처럼 Spring Data 프로젝트에 속한 모듈 중 하나이다. 개발자는 Spring Data Redis가 제공하는 여러 기능들을 활용해 Redis에 데이터를 쉽게 관리할 수 있다. 사용 방법 Spring Data Redis를 사용하기 위해서는 먼저 아래와 같이 dependency를 추가해야 한다 (gradle 기준). dependencies { implementation 'org.springfr..

개요 [Spring Security] AuthenticationSuccessHandler에 대하여 개요 Spring Security가 제공하는 AuthenticationSuccessHandler는 인증이 성공할 경우 구현하여 적용이 가능한 인터페이스이다. 이번 글에서는 이 기능이 어떻게 작동하는지 알아보고 Spring에서 제공하는 해 davidy87.tistory.com 저번 글에 이어서 이번에는 로그인 인증에 실패하면 작동하는 AuthenticationFailureHandler에 대해서 알아보려고 한다. AuthenticationFailureHandler란? public interface AuthenticationFailureHandler { void onAuthenticationFailure(Http..

개요 Spring Security가 제공하는 AuthenticationSuccessHandler는 인증이 성공할 경우 구현하여 적용이 가능한 인터페이스이다. 이번 글에서는 이 기능이 어떻게 작동하는지 알아보고 Spring에서 제공하는 해당 인터페이스의 구현체들은 어떤 것들이 있는지 알아보려고 한다. AuthenticationSuccessHandler란? public interface AuthenticationSuccessHandler { default void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, FilterChain chain, Authentication authentication) throws..

개요 HTTP 요청과 함께 특정 데이터가 전달될 경우, 개발자는 이런 데이터가 올바른지 검증하는 과정이 필요하다. Java에서는 이런 데이터를 어노테이션으로 편리하게 검증할 수 있는 표준 기술을 제공하는데, 이 기술을 Bean Validation이라고 부른다. 보통 아래와 같이 Controller의 메서드에서 파라미터로 들어오는 데이터에 @Valid 혹은 @Validated(Spring에서 제공) 라는 어노테이션을 붙여서 데이터 검증을 시작한다. @ResponseStatus(HttpStatus.CREATED) @PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public CategoryResponse save(@Validated @ModelAtt..