application.properties 中的动态键名
Dynamic key names in application.properties
我有一个应用程序可以作为多次送货服务。所有客户端都必须通过 application.properties 配置,但我需要将所有配置与一些 id 分开。
示例:
app.delivery.method.{clientId}=SFTP
app.{clientId}.sftp.username=some user
app.{clientId}.sftp.password=some pass
etc...
是否有可能通过覆盖一些 spring 启动的属性解析器或使用一些外部库来实现这样的目标。
我已经阅读了几乎所有的文档,也看到了很多示例,但没有找到任何东西。
提前致谢
这就是我解决类似问题的方法
@Configuration
@ConfigurationProperties(prefix = "app")
public class PropertiesConfig {
@Autowired
private Environment env;
...
public String getDeliveryMethod(String clientId) {
return env.getProperty("app.delivery.method."+clientId);
}
public String getClientSftpUsername(String clientId) {
return env.getProperty("app."+clientId+".sftp.username");
}
...
}
我有一个应用程序可以作为多次送货服务。所有客户端都必须通过 application.properties 配置,但我需要将所有配置与一些 id 分开。
示例:
app.delivery.method.{clientId}=SFTP
app.{clientId}.sftp.username=some user
app.{clientId}.sftp.password=some pass
etc...
是否有可能通过覆盖一些 spring 启动的属性解析器或使用一些外部库来实现这样的目标。
我已经阅读了几乎所有的文档,也看到了很多示例,但没有找到任何东西。
提前致谢
这就是我解决类似问题的方法
@Configuration
@ConfigurationProperties(prefix = "app")
public class PropertiesConfig {
@Autowired
private Environment env;
...
public String getDeliveryMethod(String clientId) {
return env.getProperty("app.delivery.method."+clientId);
}
public String getClientSftpUsername(String clientId) {
return env.getProperty("app."+clientId+".sftp.username");
}
...
}