Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java application.properties中的动态键名称_Java_Spring Boot_Application.properties - Fatal编程技术网

Java application.properties中的动态键名称

Java application.properties中的动态键名称,java,spring-boot,application.properties,Java,Spring Boot,Application.properties,我有一个应用程序,作为多个交付服务。所有客户端都必须通过application.properties进行配置,但我需要使用一些id进行单独的所有配置 例如: app.delivery.method.{clientId}=SFTP app.{clientId}.sftp.username=some user app.{clientId}.sftp.password=some pass etc... 通过重写某些spring boot的属性解析器或使用某些外部库,是否可以实现类似的功能 我已经阅读

我有一个应用程序,作为多个交付服务。所有客户端都必须通过application.properties进行配置,但我需要使用一些id进行单独的所有配置

例如:

app.delivery.method.{clientId}=SFTP
app.{clientId}.sftp.username=some user
app.{clientId}.sftp.password=some pass
etc...
通过重写某些spring boot的属性解析器或使用某些外部库,是否可以实现类似的功能

我已经阅读了几乎所有的文档,看到了很多例子,但没有发现任何东西


提前感谢

这就是我解决类似问题的方法

@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");
    }
    ...
}