我正在尝试找到一种方法来使用Immutables 库来创建数据类来保存我的 Spring Boot 应用程序的配置。
我的数据配置类是:
@Value.Immutable
@JsonDeserialize(as = ImmutableAuthConfig.class)
public interface AuthConfig {
String domain();
String clientId();
@Value.Redacted
String clientSecret();
}
而主配置类设置为
@Configuration
@EnableConfigurationProperties
@ConfigurationProperties
public class Config {
private ImmutableAuthConfig auth;
public AuthConfig getAuth() {
return auth;
}
public void setAuth(ImmutableAuthConfig auth) {
this.auth = auth;
}
}
我尝试了一些使用其中一个ImmutableAuthConfig
或仅AuthConfig
作为一个字段的变体,但没有任何改善这种情况。配置没有被拾取,并且在应用程序启动后auth
配置的字段仍然存在。null
用传统的 POJO替换AuthConfig
类的内容可以解决问题,但我更喜欢不可变对象。有什么方法可以说服 Spring 与 Immutables 库生成的类进行交互?