전에 RestTemplate대신 WebClient라는 글을 작성했었다.https://pamyferret.tistory.com/79 RestTemplate 대신 WebClient기존에 springboot에서 http 통신을 해야할 때 RestTemplate을 곧잘 쓰곤 했다. 하지만 spring 5.0 버전부터는 RestTemplate은 더 이상 새로운 버전을 내놓지 않을 것이며 WebClient를 쓰라고 권장하고 있다. As of 5pamyferret.tistory.com RestTemplate의 경우 이제 maintanace로 들어가 더 이상 새로운 버전 업이 이뤄지지 않는하고 하며 webClient를 쓰라고 권장을 했다는 내용으로 작성을 한 것이었다.하지만 실무를 하면서 RestTemplate을 쓸 ..
기존에 springboot에서 http 통신을 해야할 때 RestTemplate을 곧잘 쓰곤 했다. 하지만 spring 5.0 버전부터는 RestTemplate은 더 이상 새로운 버전을 내놓지 않을 것이며 WebClient를 쓰라고 권장하고 있다. As of 5.0, the non-blocking, reactive org.springframework.web.reactive.client.WebClient offers a modern alternative to the RestTemplate with efficient support for both sync and async, as well as streaming scenarios. The RestTemplate will be deprecated in a fu..
개발을 하다보면 json 데이터를 주고 받을 때 똑같은 가공 과정을 거쳐야 하는 경우가 있다. 함수로 가공 과정을 정의해 매번 함수를 호출해줘도 되지만 spring에서는 그러한 경우에 쓰라고 @JsonSerialize, @JsonDeserialize 어노테이션을 제공해주고 있다. @JsonSerialize @JsonDeserialize 딱 어노테이션 네이밍에서 볼 수 있듯이 Json 데이터를 주고 받을 때 Serializer, Deserializer에 대해 정의할 수 있는 어노테이션이다. @JsonSerialize, @JsonDeserialize는 함수, 필드, 파라미터 등에 붙여서 쓸 수 있다. 간단하게 아래와 같이 사용한다. @JsonSerialize(using = TestSerializer::cla..
spirng cloud gateway에서는 리퀘스트에 대해 filter를 적용해 상황에 따라 특정한 동작을 할 수 있다. custom filter들도 만들 수 있는데 spring cloud gateway 라이브러리에 기본으로 제공해주는 filter들이 몇 개 있다. 그 중에서 제일 많이들 사용하고 게이트웨이 서버 에러 처리를 위해 한 번쯤은 다룰 수밖에 없는 RetryGatewayFilterFactory에 대해 간단하게 정리해보려 한다. RetryGatewayFilterFactory spring cloud gateway에서 제공해주는 기본 filter로 게이트웨이를 거쳐간 요청에서 에러가 발생했을 시 retry하기 위해 사용하는 filter이다. RetryGatewayFilterFactory는 아래와 같..
오랜만의 기술 블로그... 뭔가 조금이긴 하지만 댓글도 달리고 방문자 수도 평일 기준 300~400 선으로 유지되니 다시 관리를 열심히 해봐야겠다.. (현생...!!) 최근에 회사에서 FeignClient를 사용했다.FeignClient에 대해 나중에 다시 정리를 해서 글을 올릴테지만 간단하게 설명하면 OkHttpClient, Apache HttpClient와 같은 http client를 손쉽게 쓸 수 있도록 하는 client builder라고 보면 된다. (neflix에서 만들었다.)http request를 손쉽게 요청하고 받을 수 있는 만큼 connection timeout, read timeout을 설정할 수 있는데 이 설정을 application.properties(yml)으로 설정하는 것이 아..
개발을 하다보면 특정 패턴을 가진 메소드에 대해서 공통적으로 적용해줘야하는 기능이 있다. 제일 대표적인게 바로 로그 기록이 있는데, 이와 같은 기능을 특정 패턴을 가진 메소드에 넣기 위해서는 로그를 기록하는 공통 Util 메소드를 생성하고 해당 Util 메소드를 특정 패턴을 가진 메소드에 일일이 넣는 것을 생각할 수 있다. 하지만 이렇게 수동으로 공통 기능을 넣어줄 경우 추후 코드를 수정할 곳이 많아진다거나 어디에 Util 메소드를 넣었는지 찾기가 힘들어 유지보수가 힘들어진다. 위와 같이 특정 패턴을 가진 메소드에 공통되는 위치(실행 전, 실행 후)에 있는 공통되는 기능을 횡단 관심사라고 한다. 그리고 이러한 횡단 관심사를 수동으로 구현할 필요 없이 알아서 지정한 패턴에 넣어주는 방법으로는 Spring ..
https://pamyferret.tistory.com/8 [ SpringBoot ] SpringBoot의 기본 Cache 사용하기 개발을 하다보면 어라? 이 데이터 계속 똑같이 사용되고 업데이트 될 일이 없는데? 하는 것들이 보인다. 데이터 업데이트가 자주 이뤄지지도 않고 자주 호출되는 데이터인데 계속 DB에 가서 데이 pamyferret.tistory.com https://pamyferret.tistory.com/25 [ SpringBoot ] Cache 기능 Redis로 구현하기 https://pamyferret.tistory.com/8 [ SpringBoot ] SpringBoot의 기본 Cache 사용하기 개발을 하다보면 어라? 이 데이터 계속 똑같이 사용되고 업데이트 될 일이 없는데? 하는 것..
https://pamyferret.tistory.com/8 [ SpringBoot ] SpringBoot의 기본 Cache 사용하기 개발을 하다보면 어라? 이 데이터 계속 똑같이 사용되고 업데이트 될 일이 없는데? 하는 것들이 보인다. 데이터 업데이트가 자주 이뤄지지도 않고 자주 호출되는 데이터인데 계속 DB에 가서 데이 pamyferret.tistory.com https://pamyferret.tistory.com/9 [ Redis ] Window에 redis 설치해서 사용하기 스프링 부트의 캐싱 기능을 사용하다보니 분산 캐싱 기능도 사용해보고 싶어졌다. 분산 캐싱에 사용할 캐시 데이터 저장 공간은 여러 가지를 사용하는데, 그 중 Redis라는 것을 사용해보려고 한 pamyferret.tistory.c..
- Total
- Today
- Yesterday
- 스프링부트
- Java
- 역직렬화
- 자바
- ssh
- 캐싱
- PostgreSQL
- 데이터베이스
- k8s
- rabbitmq
- Caching
- 메시지큐
- eclipse
- 캐시
- Spring
- cache
- HttpClient
- mockito
- MAC
- JPA
- 어노테이션
- Intellij
- enum
- postgres
- DB
- 공간데이터
- annotation
- 이클립스
- springboot
- DATABASE
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |