我正试图找到一种方法,使用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与不可变库生成的类接口?
该库对可修改类的支持提供了一种非常接近我所搜索的方法。
@Value.Modifiable
public interface AuthConfig {
String domain();
String clientId();
@Value.Redacted
String clientSecret();
}
这将创建类ModifiableAuthConfig
,该类提供满足Spring的JavaBeanBinder
的接口,该接口用于反序列化配置。
此外,还需要提供可变AuthConfig
类的实例,然后Spring可以填充该类:
@Configuration
@EnableConfigurationProperties
@ConfigurationProperties
public class Config {
private ImmutableAuthConfig auth = ModifiableAuthConfig.create();
public AuthConfig getAuth() {
return auth;
}
}
随后,可以通过AuthConfig
接口使用加载的配置,该接口不提供变异方法。
本文向大家介绍SpringBoot+docker环境变量配置详解,包括了SpringBoot+docker环境变量配置详解的使用技巧和注意事项,需要的朋友参考一下 项目中遇到springBoot+docker需要配置不同环境变量的问题,做个简单的总结: 1.开发环境ide中启动项目 可以通过ide的环境变量参数配置,启动之后使用哪个配置,比如 这样就使用application-test.yml中的
刚开始学习shiro, 实现的效果非常简单,首页点击添加(/user/add),应该能直接访问. 而点击更新(/user/update),应该提示登录.但是实际都可以直接点开,不知道哪里出问题了,shiro的配置没生效,请高手赐教,谢谢 环境:java 17 springboot 3.1.1 shiro 1.11.0 pom.xml controller/MyController.java res
问题内容: 我指的是Apple的Swift编程指南,以了解如何用Swift语言创建可变/不可变对象(数组,字典,集合,数据)。但是我不明白如何在Swift中创建一个不可变的集合。 我希望在Objective-C中看到以下Swift中的等效项 不变数组 可变数组 不变字典 可变字典 问题答案: 创建不可变数组 第一种方式: 第二种方式: 创建可变数组 将对象追加到数组 辞典 创建不可变字典 创建可变
下面是我的pom.xml文件:
<dependencyManagement> <dependencies> <dependency> <!--Import dependency management from SpringBoot--> <groupId>org.springframework.boot</groupId>
本文向大家介绍python不可变变量?相关面试题,主要包含被问及python不可变变量?时的应答技巧和注意事项,需要的朋友参考一下 不可变对象是指不可以被引用改变的对象,如字符串 #