yml 파일에서 키값 카멜 케이스 자동 변환(@ConfigurationProperties)

백엔드&인프라 추종자·2025년 3월 19일

스프링 공부

목록 보기
30/35

네, 맞습니다! Spring Boot의 @ConfigurationProperties를 사용하면, yml 파일에서 하이픈(-)을 사용하는 키는 자동으로 카멜 케이스로 변환되어 읽혀집니다.

즉, download-path와 같이 하이픈을 사용하는 속성은 자동으로 downloadPath로 변환되어 @ConfigurationProperties 클래스의 필드로 매핑됩니다.

자동 변환 예시

1. application.yml 예시:

myconfig:
  download-path: "Z:/"
  file-extension: ".zip"

2. MyConfig 클래스 (자동 변환)

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConfigurationProperties(prefix = "myconfig")
public class MyConfig {

    private String downloadPath;  // download-path가 자동으로 downloadPath로 매핑됩니다.
    private String fileExtension; // file-extension이 자동으로 fileExtension으로 매핑됩니다.

    // Getter와 Setter
    public String getDownloadPath() {
        return downloadPath;
    }

    public void setDownloadPath(String downloadPath) {
        this.downloadPath = downloadPath;
    }

    public String getFileExtension() {
        return fileExtension;
    }

    public void setFileExtension(String fileExtension) {
        this.fileExtension = fileExtension;
    }
}

📌 핵심 포인트:

  • Spring Bootyml 또는 properties 파일에서 하이픈(-)을 자동으로 카멜 케이스로 변환합니다.
  • 위 예시에서 download-pathdownloadPath로, file-extensionfileExtension으로 변환되어 해당 필드에 매핑됩니다.

따라서 @ConfigurationProperties를 사용할 때 필드 이름을 카멜 케이스로 정의만 해주면, yml 파일에서 정의된 값이 자동으로 매핑됩니다. 추가적인 설정 없이 바로 사용할 수 있습니다. 🚀

profile
AI 답변 글을 주로 올립니다.

0개의 댓글