[스프링] 프로파일별로 다른 프로퍼티 파일 사용

스프링 프로젝트를 개발하다보면 프로파일(profile) 별로 다른 프로퍼티(property) 파일을 사용해야 할 때가 있습니다. 이럴 때 어떻게 해야 할까요? 이번 포스트에서는 스프링 부트(Spring Boot)를 사용하여 프로파일 별로 다른 프로퍼티 파일을 사용하는 방법에 대해 알아보겠습니다.

1. 프로퍼티 파일 준비

먼저, 각 프로파일에 대응하는 프로퍼티 파일을 준비해야 합니다. 예를 들어, application.propertiesapplication-dev.properties 두 개의 프로퍼티 파일을 만들어보겠습니다.

application.properties:

message=Production Message

application-dev.properties:

message=Development Message

2. 프로파일 설정

application.properties 파일에 spring.profiles.active 속성을 추가하여 프로파일을 설정합니다.

application.properties:

spring.profiles.active=dev

3. 프로파일에 따른 프로퍼티 사용

이제 스프링 빈에서 프로파일에 따라 다른 프로퍼티를 사용할 수 있습니다.

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class MessageService {
    
    @Value("${message}")
    private String message;
    
    public String getMessage() {
        return message;
    }
}

위 코드에서 @Value 어노테이션을 사용하여 프로퍼티 값을 주입받고, getMessage 메서드를 통해 해당 프로퍼티 값을 사용할 수 있습니다.

이제 스프링 애플리케이션을 실행하면 application-dev.properties 파일에 정의된 message 값인 “Development Message”가 출력됩니다.

위와 같이 스프링 부트를 이용하여 프로파일 별로 다른 프로퍼티 파일을 사용할 수 있습니다. 간단한 설정으로 각각의 환경에 맞는 프로퍼티를 쉽게 관리할 수 있어 개발 및 운영 업무를 효율적으로 진행할 수 있습니다.

참고 자료