Java & Spring/기타
-
@SpyBean vs @MockBeanJava & Spring/기타 2021. 10. 11. 15:44
SpyBean vs MockBean SpringBoot 1.4 부터 추가된 Annotation SpyBean 클래스 레벨, @Configuration 클래스의 필드, @RunWith 클래스의 필드에 적용 가능 가능 같은 컨텍스트 안의 빈은 spy로 선언된 빈으로 래핑된다. Given에서 선언한 코드 외에 전부 실체 객체를 사용 @SpyBean private MyService myService; doReturn(myObject) .when(myService) .getMyObject(params..); myService의 getMyObject라는 메소드는 위에서 정한 parameter로 호출할 때, myObject라는 객체를 리턴해주도록 설정해준다. 이외의 모든 메소드, 필드 등은 실체 객체를 사용하게 된다..
-
ArcusJava & Spring/기타 2021. 9. 30. 15:23
Arcus 란? memcached와 ZooKeeper를 기반으로 네이버 서비스들의 요구 사항을 반영해 개발한 메모리 캐시 클라우드 memcached 프로토콜을 지원하고 기본 성능 혜택은 그대로 유지 백엔드 저장소인 DB 앞단에 위치하여 hot-spot 성격의 데이터를 캐싱하여, 서비스 응용에 빠른 응답성을 제공하고 DB 부하를 감소시킴 복잡한 계산에 의한 결과물 or 웹 처리 상의 중간 데이터 등을 신속하게 저장 / 조회 캐시를 통한 여러 프로세스들 간에 데이터 공유 Front Cache 리모트 캐시 앞단에서 애플리케이션 장비의 로컬 메모리를 사용하여 데이터를 캐싱하는 방법 ARCUS와 같이 리모트 서버에서 캐싱을 수행하면 캐싱된 데이터를 서로 공유할 수 있지만, 일시적인 많은 요청으로 인한 장비 리소스..
-
외부 통신 - (RestTemplate, AsyncRestTemplate, WebClient, HttpURLConnection, HttpClient ) 간략 정리Java & Spring/기타 2021. 7. 29. 17:11
RestTemplate Spring 3.0 부터 지원 Bolierplate code를 줄여줌 RestAPI를 사용해야하는 경우 적합 Multi-Thread & Blocking 방식 JDK HttpURLConnection, Apache Http Components 등과 같이 기본 HTTP 클라이언트 라이브러리를 통해 템플릿 메서드 API를 제공하는 HTTP 요청을 수행하는 동기식 client RestTemplate은 HTTP 메소드에 대한 시나리오를 제공하고, exchange와 excute 메소드를 제공 spring에서 5.0부터는 org.springframework.web.reactive.client를 사용하는 것을 권유 최신 API와 동기, 비동기, 스트리밍 시나리오를 지원 AsyncRestTempla..
-
Spring Boot 롬복 및 테스트 트러블 슈팅Java & Spring/기타 2021. 2. 15. 00:07
lombok Gradle 설정 이슈 Gradle 버전이 업데이트 되면서 설정이 조금 변했다. Lombok Gradle용 플러그인을 사용하는 설정 plugins { ... id "io.freefair.lombok" version "5.3.0" // 롬복 Gradle plugin 설정 } 플러그인을 사용하지 않는 설정 repositories { mavenCentral() } dependencies { compileOnly 'org.projectlombok:lombok:1.18.16' annotationProcessor 'org.projectlombok:lombok:1.18.16' testCompileOnly 'org.projectlombok:lombok:1.18.16' testAnnotationProcess..