본문 바로가기

springboot4

Spring Boot ShedLock in Action (with MongoDB) https://github.com/igooo/tutorials/tree/main/spring-boot-3.4/shedlock-mongo개요Spring Boot를 사용하여 프로젝트를 진행할 때 간단한 예약 작업은 @Scheduled 어노테이션을 사용하여 간단하게 처리할 수 있다. @Scheduled 로직을 실행하는 서버가 1개인 경우에는 아무런 고민 없이 사용가능하지만, 고가용성을 위하여 2개 이상 서버를 실행하는 경우에는 @Scheduled의 로직이 중복으로 실행되어 개발자가 의도하지 않거나 예측하지 못한 결과가 발생할 수 있다.ShedLock을(https://github.com/lukas-krecan/ShedLock) 사용하면 @Schedule을 사용하여 작성된 로직이 여러 서버에서 실행되더라도 동시에.. 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.