Spring boot 2.1 의@WebMvcTest

오늘 이야기할 내용은 Spring boot 2.1의 @WebMvcTest 어노테이션에 대해서 살펴볼텐데 기존의 @WebMvcTest과 조금 다른 부분이 있어 그것에 대해 알아보도록 하자. 만약 Spring boot 2.0 혹은 그 이전 버전에서 Spring boot 2.1로 버전을 올린다면 함께 봐야 할 수도 있다. 물론 그 상황이 라면? 필자도 Spring boot 2.0 에서 2.1로 올렸을 때 발생한 이슈였다. 2.0에서는 문제 없이 잘 실행 되었지만 2.1로 버전을 올렸더니 갑자기 테스트 케이스들이 실패하였다. 그래서 그 이유가 무엇인지 찾아보기.. Read More

Spring 의 @ControllerAdvice

오늘은 Spring의 @ControllerAdvice 어노테이션에 대해서 알아보도록 하자. 많은 내용은 아니지만 이런기능도 있으니 한번 살펴보도록 하자. 대부분이 Spring 을 사용할 때 @ControllerAdvice를 글로벌 예외처리기로 사용한다. 하지만 @ControllerAdvice 어노테이션은 예외처리기만을 위한 것은 아니다. 아마도 예외처리기로 사용할 때가 많아서 대부분이 예외처리로 사용할 뿐이다. 구글에 @ControllerAdvice을 검색을 해보면 Exception 처리만 수두룩하다. 뭐 틀린말은 아니다. 예외처리로만 사용해도 문제는 없다. 하지만 예외처리뿐만 아니라 다용도로 사용할 수 있으니 알면 좋을 것 같아서 포스팅을 해본다. 흔히 사용하는 예외처리.. Read More

Spring boot Properties

오늘은 Spring boot properties에 대해서 이야기 해보도록 하자. Spring boot 에는 다양한 설정파일을 제공하고 있다. .properties, .yaml 파일뿐만 아니라 다른 여러방법도 존재한다. 이것뿐만 아니라 우선순위 등 잘 사용하는 방법을 알아보도록 하자. Random properties에 random 함수를 사용할 수 있다. 실제로는 자주 사용하지는 않겠지만 테스트할 경우에는 유용할 수 있는 랜덤함수이다. 하지만 필자도 한번도 사용한적이 없다는.. int, long, uuid, 원하는 범위의 int 등으로 설정할 수 있다. name=${random.int} name=${random.long} name=${random.value} name=${random.int(10)} name=${random.int[1024,65536]} 위와 같이.. Read More