Spring WebClient

오늘은 Spring의 WebClient의 사용법에 대해서 몇가지 알아보도록 하자. 사용 API만 살펴 볼 예정이므로 reactive streams(reactor..) 들의 개념과 사용법은 다른 블로그를 살펴보길 바란다. reactive streams 대한 내용을 알고 보면 좋지만 몰라도 코드를 보는데는 문제가 없을 듯 하다. WebClient는 Spring5 에 추가된 인터페이스다. spring5 이전에는 비동기 클라이언트로 AsyncRestTemplate를 사용을 했지만 spring5 부터는 Deprecated 되어 있다. 만약 spring5 이후 버전을 사용한다면 AsyncRestTemplate 보다는 WebClient 사용하는 것을 추천한다. 아직 spring 5.2(현재기준) 에서 AsyncRestTemplate 도.. Read More

Spring 5.2 와 Spring boot 2.2 추가된 Test 기능들

오늘 알아볼 내용은 Spring 과 Spring boot의 새로운 Test 기능들을 알아볼 예정이다. 아주 많은 기능을 이야기 할건 아니지만 주로 많이 사용될 만한 것들을 살펴볼 예정이다. 일단 Spring 5.2에 추가된 2가지 내용을 살펴보도록 하자. 생성자 @Autowired Spring5 부터는 junit5를 적극적으로 지원하기 시작했다. junit5를 사용하기전에는 다음과 같은 코드를 작성해야 했었다. @RunWith(SpringRunner.class) @DataJpaTest public class UserRepositoryTests { @Autowired private AccountRepository accountRepository; @Test public void findAllTest() { assertThat(accountRepository.findAll()) .isEqualTo(Collections.singletonList(new Account(1L, “wonwoo”, 22))); } }.. Read More

Spring boot Actuator 사용해보자 (3)

오늘은 Spring boot Actuator의 마지막 시간이다. 그때 말했던 것처럼 오늘은 trace를 좀 더 영구적으로 사용할 수 있도록 해볼 예정이다. 일단 몽고DB와 redis로 저장할 예정인데 redis 경우에는 시리얼라이즈 할때 좀 귀찮은게 있다. 그래서 좀 설정이 들어간다. 일단 trace에 대해서 좀 더 알아보자. InMemoryTraceRepository 기본적으로 trace 엔드포인트는 100개 까지만 저장 가능하다. 그래서 100개 이상 저장되면 이전에 저장되었던 오래된 데이터들은 사라진다. 이를 해결하기 위해 저장 개수를 늘릴 수 있다. @Bean fun traceRepository(): TraceRepository.. Read More