네, 맞습니다! 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;
}
}
yml 또는 properties 파일에서 하이픈(-)을 자동으로 카멜 케이스로 변환합니다.download-path는 downloadPath로, file-extension은 fileExtension으로 변환되어 해당 필드에 매핑됩니다.따라서 @ConfigurationProperties를 사용할 때 필드 이름을 카멜 케이스로 정의만 해주면, yml 파일에서 정의된 값이 자동으로 매핑됩니다. 추가적인 설정 없이 바로 사용할 수 있습니다. 🚀