본문 바로가기

springboot5

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.
Spring Boot ShedLock in Action (with MongoDB) 개요Spring Boot를 사용하여 프로젝트를 진행할 때 간단한 예약 작업은 @Scheduled 어노테이션을 사용하여 간단하게 처리할 수 있다. @Scheduled 로직을 실행하는 서버가 1개인 경우에는 아무런 고민 없이 사용가능하지만, 고가용성을 위하여 2개 이상 서버를 실행하는 경우에는 @Scheduled의 로직이 중복으로 실행되어 개발자가 의도하지 않거나 예측하지 못한 결과가 발생할 수 있다.ShedLock을(https://github.com/lukas-krecan/ShedLock) 사용하면 @Schedule을 사용하여 작성된 로직이 여러 서버에서 실행되더라도 동시에 최대 한 번만 실행되도록 제어할 수 있다. ShedLock의 동작 방식은 @Scheduled 작업이 하나의 서버에서 실행 중이면 다른.. 2025. 3. 18.
Spring Boot + vue, react 환경 구성 개요Spring Boot와 Front-end를(vue, react) 하나의 프로젝트로 구성하여 배포하는 방법에 대하여 알아본다. PrerequisitesNode.js 설치사용할 Node.js 버전에 맞게 설치해 준다.Node.js : https://nodejs.org/en Spring Boot 3.x 프로젝트 생성Spring Web Starter를 사용하여 프로젝트를 생성한다.build.gradle 파일plugins { id 'java' id 'org.springframework.boot' version '3.3.3' id 'io.spring.dependency-management' version '1.1.6'}group = 'org.igooo'version = '0.0.1-SNAPSHOT'java { .. 2024. 9. 5.
[Spring] Springdoc-openapi 사용하여 API 문서 만들기 개요springdoc-openapi는 Spring Boot 프로젝트의 API 스팩에 대하여 자동으로 문서 생성을 해주는 라이브러리다. json, yaml, html 등 다양한 형식의 문서를 생성한다. OpenAPI 3 스팩을 지원한다. Getting Started간단한 Spring MVC Controller를 생성한다.@RestController@RequestMapping("/v1.0/pets")class PetApiController { private List> pets = List.of(Map.of("name", "pet1"), Map.of("name", "pet2")); @GetMapping List> findAll() { return this.pets; } @GetMapping("/{name}".. 2024. 7. 16.
Spring Boot Application Caching 간단한 예제로 Spring Boot Application에서 캐쉬를 구현할 때 어떻게 사용해야하는지 살펴본다. Implementbuild.gradleplugins { id 'java' id 'org.springframework.boot' version '3.3.1' id 'io.spring.dependency-management' version '1.1.5'}group = 'org.igooo'version = '0.0.1-SNAPSHOT'java { toolchain { languageVersion = JavaLanguageVersion.of(21) }}repositories { mavenCentral()}dependencies { implementation 'org.springframework.boo.. 2024. 6. 24.