[Spring || SpringBoot] Spring에서 @Value로 Properties 값 가져오기

반응형
SMALL

Spring boot에서는 외부 설정 파일을 통해 Properties 설정 값을 관리할 수 있다.

application.properties  또는 application.yml 파일에 저장된 값을 Java 코드에서 불러오는 방법 중 하나는 @Value 어노테이션을 사용하는 것이다.

 

@Value 어노테이션 사용하기

# application.properties
app.name=MySpringApplication
app.version=1.0.0

 

위와 같이 설정 값을 저장한다고 가정한다.

 

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

@Component
public class AppConfig {

    @Value("${app.name}")
    private String appName;

    @Value("${app.version}")
    private String appVersion;

    public void printAppInfo() {
        System.out.println("App Name: " + appName);
        System.out.println("App Version: " + appVersion);
    }
}

 

위 코드에서 처럼 @Value("${app.name}")은 application.properties 파일에서 app.name 값을 읽어와 appName 필드에 주입한다.

 

기본값 설정하기

@Value("${app.description:No description available}")
private String appDescription;

 

이렇게 하면, app.description의 값이 없을 경우 "No description available"이 기본값으로 사용된다.

 

주의사항

  • @Value는 간단한 설정 값을 주입할 때 유용하지만, 많은 설정 값을 사용할 때는 관리가 힘듦
  • @ConfigurationProperties를 사용하여 위의 문제를 해결할 수 있다.
반응형
LIST