java - ConfigurationProperties 加载取决于值
问题描述
这是我的 yaml 文件,我想加载我的属性取决于激活值。
emp:
activate: a
a:
param1: value1
param2: value2
b:
param1: value1
param2: value2
如果激活值为'a'然后加载'a',我想这样做。
在我的源代码 AppConfig 上
@Getter @Setter
@Configuration
@ConfigurationProperties @RequiredArgsConstructor
public class AppConfig {
@NestedConfigurationProperty
private final EmpConfig empConfig;
}
我的 EmpConfig
@Configuration
@ConfigurationProperties(prefix = "emp")
public class EmpConfig {
private String activate;
private Emp a;
private Emp b;
public Emp getEmpConfig(){
if(activate.equals("a"))
return a;
return b;
}
@Getter
@Setter
public static class Emp {
private String param1;
private String param2;
}
}
但是那些代码得到了 bean 创建错误。有什么好的方法可以解决这个问题吗?
解决方案
推荐阅读
- c# - 在同一 API 调用 c# 中上传文件和数据
- mysql - SQL检索在特定时间进行交易的用户名
- python - 在 Python 中自动化 Global Protect VPN 连接
- c# - C# Blazor 表 RemoveVariant 事件
- c# - 如何加载 ResponseCompressionDefaults 函数(Blazor WebAssembly SignalR)
- python - 如何更改或自定义熊猫的颜色?
- r - 为 gtsummary 表中的“Overall”列添加背景颜色
- javascript - 如何在 React.js 中使用“window.webkit.messageHandlers”
- r - 从具有因子的列到具有 0、1 的两个不同列
- excel - 数据验证(长度限制和字符必须为大写)