Spring
-
HandlerMethodArgumentResolver 란HandlerMethodArgumentResolver는 Controller Method에서 특정 조건에 맞는 파라미터가 있을 때 원하는 값을 바인딩해 주는 인터페이스이다. Spring 공식 문서에는 아래와 같이 설명되어있다.Strategy interface for resolving method parameters into argument values in the context of a given request.주어진 요청으로부터, method의 parameter를 argument로 주입해 주는 전략 패턴의 interface Spring MVC를 작성할 때, Controller에 정의한 Method들에도 @PathVariable, @RequestPar..
[Spring] HandlerMethodArgumentResolver 사용HandlerMethodArgumentResolver 란HandlerMethodArgumentResolver는 Controller Method에서 특정 조건에 맞는 파라미터가 있을 때 원하는 값을 바인딩해 주는 인터페이스이다. Spring 공식 문서에는 아래와 같이 설명되어있다.Strategy interface for resolving method parameters into argument values in the context of a given request.주어진 요청으로부터, method의 parameter를 argument로 주입해 주는 전략 패턴의 interface Spring MVC를 작성할 때, Controller에 정의한 Method들에도 @PathVariable, @RequestPar..
2024.07.04 -
Spring Application에서 다른 API를 호출하기 위해서는 HTTP Client 호출이 필요하다. 다양한 library를 통해서 해당 기능을 사용할 수 있는데그중에 하나인 Spring WebClient에 대해서 알아보자. WebClientHTTP Request를 수행하는 Client<l..
[Spring] WebClientSpring Application에서 다른 API를 호출하기 위해서는 HTTP Client 호출이 필요하다. 다양한 library를 통해서 해당 기능을 사용할 수 있는데그중에 하나인 Spring WebClient에 대해서 알아보자. WebClientHTTP Request를 수행하는 Client<l..
2024.06.02 -
Asynchronous(비동기) 요청을 하고 순차적으로 결과를 기다리지 않고 다음 할 일을 진행 추후에 작업 결과를 확인하고 싶은 경우 Future 등을 이용하여 확인 가능하다. @Async 스프링에서 비동기 처리를 지원하는 애노테이션 사용 방법 @EnableAsync @SpringBootApplication public class MySpringApplication { ... } public class AsyncService { @Async public void method(){ ... } } Thread Pool 위와 같이 사용하면 @Async가 붙은 메서드는 별도의 스레드에서 동작한다. 다만, 기본적으로 비동기 처리를 할 때 ( org.springframework.core.task.SimpleAs..
[Spring] @Async 비동기처리Asynchronous(비동기) 요청을 하고 순차적으로 결과를 기다리지 않고 다음 할 일을 진행 추후에 작업 결과를 확인하고 싶은 경우 Future 등을 이용하여 확인 가능하다. @Async 스프링에서 비동기 처리를 지원하는 애노테이션 사용 방법 @EnableAsync @SpringBootApplication public class MySpringApplication { ... } public class AsyncService { @Async public void method(){ ... } } Thread Pool 위와 같이 사용하면 @Async가 붙은 메서드는 별도의 스레드에서 동작한다. 다만, 기본적으로 비동기 처리를 할 때 ( org.springframework.core.task.SimpleAs..
2024.05.13 -
spring-retry의 2.0.1 버전부터는 @EnableRetry 어노테이션에 order 설정이 추가되었다. @Retryable의 order 기본값은 Ordered.LOWEST_PRECEDENCE - 1 @Transational의 order 기본값은 Ordered.LOWEST_PRECEDENCE 그렇기 때문에 @Transational 보다 먼저 @Retryable이 적용될 수 있다. @Retryable { @Transactional { Your method body } End of @Transactional } End of @Retryable 위와 같은 순서로 적용되어서 만약 내부 로직에 DB Operation이 있다면 retry시에 기존 Transaction과는 다른 Transaction으로 적용이..
[Spring] @Retryable @Transational 적용 순서spring-retry의 2.0.1 버전부터는 @EnableRetry 어노테이션에 order 설정이 추가되었다. @Retryable의 order 기본값은 Ordered.LOWEST_PRECEDENCE - 1 @Transational의 order 기본값은 Ordered.LOWEST_PRECEDENCE 그렇기 때문에 @Transational 보다 먼저 @Retryable이 적용될 수 있다. @Retryable { @Transactional { Your method body } End of @Transactional } End of @Retryable 위와 같은 순서로 적용되어서 만약 내부 로직에 DB Operation이 있다면 retry시에 기존 Transaction과는 다른 Transaction으로 적용이..
2024.03.27