📃 요약
Spring Scheduler 간단 예제를 진행해 보도록 하겠습니다.
간단 사용으로 주기적으로 실행하고 싶을 때 알림 서비스 등에 응용하면 되겠습니다.
벡엔드만 구현하고, Spring Boot 를 사용합니다.
요소 기술 :
– 벡엔드 : Spring Boot & JPA
결과 화면 : 없음
프로젝트 탐색기 : String Boot

스케줄러 로직 구현 절차
- 1) @EnableScheduling 를 SchedulerApplication 클래스에 추가 (스케줄링 시작)
- 2) 서비스 클래스의 특정 함수명 위에 @Scheduled(fixedDelay = 1/1000초)
- 3) 함수가 주기적으로 실행됨
- “스케줄 예제입니다. ” 문자열이 콘솔 화면에 2초 간격으로 나타납니다.
📃 기술 구현
스펙 :
- jdk 17 - spring boot 3.x - intellij IDEA & gradle - logging tool : logback
스케줄러 서비스 클래스
– SchedulerService.java
package org.example.schedulerapp.services;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
/**
* @fileName : SchedulerService
* @author : GGG
* @since : 2024-05-30
* description : 스케줄러 샘플 예제
* @Scheduled(fixedDelay = 1000)
* => 1초 마다 실행
* * 속성
* - fixedDelay : 작업을 마친 후부터 특정 시간마다 실행
* - initialDelay : 초기 지연시간 설정
* - cron : cron 표기법 사용 가능
* ex) @Scheduled(cron = "* * * * *")
* => 매일 매초 실행됨
*
* * 스케줄러 제한사항
* 1) 스케줄러는 IOC 대상만 가능함
* 2) 메소드의 리턴타입은 void
* 3) 메소드의 매개변수 사용불가
* ex) void 함수명(){ 스케줄실행문; }
*/
@Slf4j
@Service
public class SchedulerService {
@Scheduled(fixedDelay = 2000)
public void run() {
log.debug("스케줄 예제입니다.");
}
}
📃 결론
Spring Boot 에서 @Scheduled 를 이용해서 주기적으로 함수를 실행하는 예제를 살펴보았습니다.
Spring Boot 에서 간단하게 주기적으로 실행되는 함수를 제작할 때 참고하시기 바랍니다.
Spring Boot Scheduler 에 관심 있으시다면 Source 는 아래에서 찾을 수 있습니다.
- Github 주소 : https://github.com/KangTaeGyung/scheduler-app
감사합니다.



