我需要从 application.yml
但当我尝试这样做时,我得到一个错误:
TestConfig is annotated with @ConstructorBinding but it is defined as a regular bean which caused dependency injection to fail.
我的 application.yml
文件如下所示:
test:
app:
id: app_id
我的 TestConfig
类如下所示:
@Configuration
@ConfigurationProperties(prefix = "test.app")
@ConstructorBinding
public class TestConfig {
private final String id;
public TestConfig(String id) {
this.id = id;
}
}
我试着这样做,但对我没用。
我错在哪里?
1条答案
按热度按时间pu82cl6c1#
根据:
https://www.baeldung.com/configuration-properties-in-spring-boot#immutable-配置属性绑定
您需要从testconfig.class中删除@configuration。
此外,需要强调的是,要使用构造函数绑定,我们需要使用@enableconfigurationproperties或@configurationpropertiesscan显式启用配置类。
---------编辑-----