Engineering Note

[Spring] CommandLineRunner 본문

Server/Spring

[Spring] CommandLineRunner

Software Engineer Kim 2025. 10. 22. 21:50

CommandLineRunner

- 스프링부트가 실행되고 트래픽을 받기전 실행하고 싶은 코드가 있을 때 사용하는 인터페이스

 

 

사용 예시

package com.example.demo;

import com.example.demo.entity.Member;
import com.example.demo.repository.MemberRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;

@Component
@RequiredArgsConstructor
public class DataLoader implements CommandLineRunner {

    private final MemberRepository memberRepository;

    @Override
    public void run(String... args) {
        for (int i = 1; i <= 50; i++) {
            Member member = Member.builder()
                    .name("홍길동" + i)
                    .email("hong" + i + "@example.com")
                    .phoneNumber("010-" + String.format("%04d", i) + "-5678")
                    .status(Member.MemberStatus.ACTIVE)
                    .lastLoginAt(LocalDateTime.now().minusDays(i))
                    .build();
            memberRepository.save(member);
        }
    }
}

 

위 코드는 프로젝트 실행시 테스트를 위해 데이터베이스에 회원데이터를 저장하는 코드다.

 

 

참고 자료 : https://docs.spring.io/spring-boot/docs/2.3.4.RELEASE/reference/html/spring-boot-features.html#boot-features-command-line-runner

Comments