자바에는 Properties 클래스 하나로 다 설정했었는데 코틀린은 @Configuration과 @ConfigurationProperties을 하나의 파일에서 관리하지 못하는것으로 보임.
자바
@Configuration
@ConfigurationProperties("test")
public class TestProperties {
public String url;
private Api api;
}
코틀린
@ConfigurationProperties(prefix = "test")
data class TestProperties @ConstructorBinding constructor(
val url: String,
val api: Api
) {
}
@Configuration
@EnableConfigurationProperties(TestProperties::class)
class TestConfig {
}
@ConstructorBingding 설정을 해줘야지 val로 설정할 수 있다.
스프링 부트 3부터는 @ConstructorBingding를 생성자와 애노테이션에만 사용 가능