Spring51 Spring HttpServiceProxyFactory를 사용하여 설정 오버헤드 줄이기 개요Spring Framework 6에는 @HttpExchnage 어노테이션을 사용하여 Java Interface를 통해 HTTP Client 서비스를 정의하는 기능이 추가되었다. 예를 들면 다음과 같다.public interface UserService { @GetExchange("/users/{id}") User getUSer(@PathVariable String id);} UserSerivce HTTP 요청을 사용하기 위해서는 아래와 같이 Interface로부터 Proxy를 생성해야 사용이 가능하다.// Initialize HTTP clientvar restClient = RestClient.create("https://api.igooo.org");// Create factory for .. 2026. 9. 2. Spring Boot 4.1 Lazy JDBC connection Fetching 개요지난 포스팅(https://blog.igooo.org/191)에 이어 Spring Boot 4.1.0에 포함된 Lazy JDBC connection feting을 사용하여 JDBC를 사용하는 프로젝트에서 성능을 향상하는 방법을 알아보자. spring.datasource.connection-fetch 동작 방식JDBC를 사용하는 프로젝트에서는 Transaction을 사용하여 중요한 비즈니스 로직을 처리하는 경우가 많다. Transaction을 사용하는 경우 보통은 Service 클래스에 @Transactional 어노테이션을 사용하여 트렌젝션의 범위를 지정하여 사용한다. 이때 @Transactional 어노테이션이 지정된 메서드에 시작부터 끝까지 BEGIN, COMMIT이라는 명령 사이에서 메서드의 로.. 2026. 8. 21. RestTestClient를 사용하여 Spring Rest API 테스트 작성하기 개요RestTestClient는 Spring Framework 7에서 새롭게 도입된 통합 테스트 도구로, Spring REST API를 손쉽게 테스트할 수 있게 해 준다. 기존에 MockMvc와 WebTestClient의 장점을 하나로 합쳐 단순하고 직관적인 API를 제공하여 쉽게 테스트를 작성할 수 있게 해 준다.이번 게시글에서는 RestTestClient의 각 상황에 맞는 사용법과 왜 사용해야 하는지에 대하여 알아보자. 자세한 사항은 아래 문서를 참고한다.공식 문서 : https://docs.spring.io/spring-framework/reference/testing/resttestclient.html RestTestClient를 사용해야 하는 이유는 무엇일까?모든 유형의 테스트를 위한 일관된 A.. 2026. 1. 5. Spring Boot 4 모듈화 개요Spring Boot 4.0.0이 2025.11.20 정식으로 출시(https://spring.io/blog/2025/11/20/spring-boot-4-0-0-available-now)되었고, 많은 변경사항 중 하나인 Modular Spring Boot 4에 대하여 알아보자 A Modular Spring Boot 4Spring Boot 4가 출시되고 큰 변경사항 중 하나는 바로 기존에 단일(monolithic) spring-boot-autoconfigure JAR 파일 대신, 기능을 더 작고 집중된 모듈로 분리하여 각각의 JAR 파일로 제공하는 것이다. 아래는 Spring Boot4와 Spring Boot 3의 spring-boot-autoconfigure JAR 파일에 패키지 구조를 보면 Spri.. 2025. 12. 11. Embabel을 사용하여 AI Agent API로 제공하기 개요이전 포스팅(https://blog.igooo.org/186)에서 Embable을 사용하여 AI Agent를 개발하는 방법에 대하여 알아보았다. 빠르게 Embabel을 알아보기 위해서 Spring Shell을 사용한 간단한 CLI 형태로 예제를 작성했는데 이번에는 AI Agent를 여러 사람에게 쉽게 제공하기 위해서는 API 형태로 제공을 해야 하기 때문에 API로 AI Agent를 제공하는 방법에 대해서 알아보자.Spring Web을 사용하여 API를 제공하고 AI Agent와 연동하는 방법에 대하여 알아본다. Getting Started준비사항이전 포스팅(https://blog.igooo.org/186)을 작성했을 당시 Emababel 버전이 0.1 이었고 현재 작성일(2025-12) 기준으로는 .. 2025. 12. 11. Mockito - 메서드 체이닝 테스트 코드 작성하기 개요mockito를 사용하여 테스트 코드를 작성하다 보면 Spring WebClient처럼 메서드 체이닝을 사용하여 작성된 코드에 테스트 코드를 작성해야 하는 경우가 있다. 일반적인 mock 처리 방법을 사용하여 테스트 코드를 작성하면 메서드 체이닝에 포함된 모든 메서드에 대하여 mock 처리 코드를 추가해야 하지만, Mockito의 RETURNS_DEEP_STUBS를 사용하면 테스트 코드를 더 간결하게 작성할 수 있으니 알아보도록 하자. As-isMockito를 사용하여 기존처럼 테스트 코드를 작성하면 webClient에 메서드 체이이닝에 대하여 모든 메서드를 given으로 mock 처리를 해야 해서 테스트할 코드보다 테스트 코드가 길어지는 상황이 발생하게 된다.class WebClientService.. 2025. 8. 25. 이전 1 2 3 4 ··· 9 다음 728x90