java34 Mockito - 메서드 체이닝 테스트 코드 작성하기 개요mockito를 사용하여 테스트 코드를 작성하다 보면 Spring WebClient처럼 메서드 체이닝을 사용하여 작성된 코드에 테스트 코드를 작성해야 하는 경우가 있다. 일반적인 mock 처리 방법을 사용하여 테스트 코드를 작성하면 메서드 체이닝에 포함된 모든 메서드에 대하여 mock 처리 코드를 추가해야 하지만, Mockito의 RETURNS_DEEP_STUBS를 사용하면 테스트 코드를 더 간결하게 작성할 수 있으니 알아보도록 하자. As-isMockito를 사용하여 기존처럼 테스트 코드를 작성하면 webClient에 메서드 체이이닝에 대하여 모든 메서드를 given으로 mock 처리를 해야 해서 테스트할 코드보다 테스트 코드가 길어지는 상황이 발생하게 된다.class WebClientService.. 2025. 8. 25. Jackson 3.0.0 알아보기 개요Spring Framework 7.0 버전 출시가 올해 11월로 예정되어 있고, 다양한 변경사항이 있지만 그중 json을 처리하는데 많이 사용하는 Jackson 라이브러리에 대한 변경이 예정되어 있어서 어떤 변경사항이 있는지 알아본다. Spring Framework 6.x에서는 Jackson 2.x 버전을 사용했지만 Spring Framework 7.x 버전 이후로는 Jackson 3.x 버전으로 변경된다. (참고 https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-7.0-Release-Notes#jackson-3x-support) 변경사항Jackson 3.x와 Spring Framework 7.x에 변경사항은 내용이 많.. 2025. 7. 15. Spring Boot에서 Project Leyden을 사용하는 방법 개요Project Leyden은 얼리 액세스(Early Access) 빌드로 제공하고 있으며 Spring Boot와 함께 사용했을 때 startup 시간이 얼마나 빨라지는지 대하여 이번 포스팅에서 알아본다. Leyden ProjectLeyden Proejct는 Java 프로그램의 시작 시간, 최대 성능 도달 시간, 그리고 사용 공간을 개선하기 위한 프로토타입을 개발하는 것이고, 향후 JDK 릴리즈에 정식으로 통합되기를 기대한다.참고 : https://github.com/openjdk/leyden/blob/leyden-ea1-release-notes/README.md PerformanceLeyden Project를 사용하여 Spring Boot의 시작 시간을 측정한 내용은 이미 Spring Blog에 포.. 2025. 6. 9. Spring AI MCP with IntelliJ IDEA 개요MCP를 지원하는 AI 프로그램들도 많아졌고, 대부분에 AI 기능을 제공하는 개발툴에서도 MCP를 지원하게 되어 간단하게 Spring을 사용하여 MCP 프로그램을 개발하고, InteilliJ IDEA를 사용하여 개발한 MCP를 사용하는 방법을 알아본다. Getting Started아래 예제에서는 MAC에서 Spring Native 빌드를 사용하여 MCP 서버를 빌드하고, 빌드된 바이너리를 사용하여 IntelliJ IDEA에 연동한다. 윈도에서도 동일하게 사용가능하다. MCP 관련한 예제는 지난 게시글을 확인한다.https://blog.igooo.org/172 Spring AI 스펙은 아래 블로그를 확인한다.https://spring.io/blog/2025/05/20/spring-ai-1-0-GA-re.. 2025. 5. 26. JDK 24 새로운 기능 개요2025/03/18 JDK 24 GA 버전이 출시되었고, 이번 버전에 새롭게 추가된 기능에 대하여 간단히 알아본다. Features488: Primitive Types in Patterns, instanceof and swith (Second Preview)Java 24에서는 instanceof 연산자와 switch 표현식 및 명령문과 같은 모든 패턴 콘텍스트에서 기본 유형을(primitive types) 포함하도록 패턴 매칭을 확장한다. 이번 업데이트를 통해 객체(object) 및 기본 유형(primitive types) 모두에서 작업할 때 더 간결하고 읽기 쉬운 코드를 사용할 수 있다. instanceof 연산자와 switch 표현식 및 명령문은 모든 기본 유형에서 작동하도록 확장된다.Exampl.. 2025. 3. 30. JAVA 24 Flexible Constructor Bodies 개요2025/03/18 JDK 24 GA 버전이(https://jdk.java.net/24/) 출시되었다. JDK 24 추가된 기능들에 대해서는 다음 포스팅에서 알아보고, 이번 포스트에서는 여러 추가된 기능 중 Flexible Constructor Bodies에 대하여 알아본다.Flexible Constructor Bodies 기능은 Java 프로그래밍 언어에서 생성자(constructor) 내에서 명시적 생성자 호출(super(...) 또는 this(...)) 전에 코드를 작성할 수 있는 기능을 제공한다.(이전 버전에서는 생성자 호출 이전에 작성한 코드에 대해서는 컴파일 오류가 발생한다.) super(...), this(...)는 생성 중인 인스턴스를 참조할 수는 없지만, 인스턴스의 필드를 초기화할 수.. 2025. 3. 26. 이전 1 2 3 4 ··· 6 다음 728x90