전체 글108 Spring Framework 7.0.0 API Versioning 개요이번 포스팅에는 Spring Framework 7.0.0에 포함될 API Versioning 기능에 대해서 알아보자.Restful API로 클라이언트와 통신하는 서비스에서는 URI에 버전을 포함하여(ex /service/v1.0/users) API를 작성하고, API가 변경됨에 따라 API의 버전을 추가하거나 변경하는 전략을 사용해 왔다. Spring Framework 7.0.0에는 기존에 URI를 설정하던 @RequestMapping 어노테이션에 version 어트리뷰트를 추가하여 API Version을 관리하는 기능을 제공한다. API Versioning을 사용하는 이유하위 호환성 유지 (Backward Compatibility)점진적 마이그레이션 (Gradual Migration)API 진화 관.. 2025. 7. 31. Spring Framework 7.0 - Resilience Features (회복력 기능) 개요Spring Framework 7.0에는 Resilience(회복력) 기능이 spring-core에 추가되었다. 7.0 이전 Spring 개발팀은 Spring Retry 프로젝트(https://github.com/spring-projects/spring-retry)를 별도의 프로젝트로 제공했으나 Spring Framework 7.0 버전 출시에 맞춰 불필요한 기능을 정리하고 일부 API를 개선하여 spring-core 패키지로 추가했다.상세한 내용은 공식 문서를 참고한다.(https://docs.spring.io/spring/reference/7.0-SNAPSHOT/core/resilience.html) 이번 게시글에서는 Spring Framework 7.0에 포함된 Resilience Feature.. 2025. 7. 27. 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 Batch에서 JobParameter사용하기 개요Java로 개발하는 프로젝트에는 JSpecify를(참고: https://blog.igooo.org/167) 사용해서 null safety를 지원하고 있다.Batch 애플리케이션을 개발하는 경우 Spring Batch를 사용하여 개발을 하는데, 이때 JobParameter를 사용하여 실행을 위한 데이터를 입력하는 경우가 많다. JobParamter를 사용하는 경우 간단하게 Job이나 Step 선언부에 @Value("#{jobParamters['name']}")를 사용하여 JobParamter를 처리하는 방법을 많이 사용하는데 이때 null을 사용하지 않고 Spring Batch Job을 구성하는 방법에 대하여 알아본다. AS-ISSpring Batch를 사용하여 JobParameter로 date를 입력.. 2025. 6. 17. 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. oha - HTTP load generator (성능 테스트) 개요API 서비스를 개발하고 성능 테스트를 할 때는 주로 nGrinder를(참고 https://blog.igooo.org/138) 사용하여 성능 테스트를 진행한다. nGrinder를 사용하여 테스트를 하려면 설치도 해야 하고 스크립트도 작성해야 하는 번거로움이 있어서 간단한 성능 테스트기를 찾아보다가 가볍게 설치해서 사용할 수 있고, 다양한 OS에서 사용할 수 있는 oha라는 성능 테스트 툴이 있어서 공유한다. ohaoha는 가벼운 프로그램으로 rust로 개발되었다. Installationrust 개발환경이 구성되어 있으면 다음 링크를 참조한다. https://github.com/hatoo/oha Download pre-built binaryOS 별로 미리 빌드된 바이너리를 사용하려면 아래 링크를 참조한.. 2025. 5. 20. MCP with Spring Boot 개요MCP : Model Context Protocol은 LLM 애플리케이션과 외부 테이터 소스 및 도구 간의 원활한 통합을 가능하게 하는 개방형 프로토콜로 최근 AI 툴에서 많은 지원을 해주면서 사람들의 관심이 많아졌다. Spring AI에서도 MCP 관련 기능을 꾸준하게 추가하고 있고, 다양한 애플리케이션에서도 MCP를 지원하고 있어서 Spring을 사용하여 MCP를 사용하는 방법에 대해서 알아보도록 하자 MCP관련 내용은 아래 링크를 참조한다.MCP : https://github.com/modelcontextprotocol)Spring AI / Model Context Protocol : https://docs.spring.io/spring-ai/reference/api/mcp/mcp-overvie.. 2025. 4. 4. 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. 이전 1 2 3 4 ··· 12 다음 728x90