Springboot配置属性作用域或阵列

时间:2018-08-13 04:58:07

标签: spring-boot configuration

目前,我们在Spring-boot项目中使用Xero SDK。当我们需要这项服务时,我想将其变成一些像软件包(库)之类的启动器。

现在我知道该怎么做并进行注册并生成元数据。

但是我的问题是该怎么做,以便用户可以配置多个bean。  我的配置文件中有Xero配置属性。我有两个带预选赛的豆子。

而我只是在属性之前加上前缀。

nz.xero.property.name

au.xero.property.name

这可以正常工作,但是我想创建一个包,并让属性@ConfigurationProperties拾取。

但是,如果我这样做,将只有一组值。但是如果一个用户拥有一个以上的xero帐户,我将不知道如何设置属性。

这是我现在手动执行的操作。

au.xero.AppType=PRIVATE
au.xero.UserAgent=****
au.xero.ConsumerKey=****
au.xero.ConsumerSecret=****
au.xero.PrivateKeyCert=****
au.xero.PrivateKeyPassword=****


nz.xero.AppType=PRIVATE
nz.xero.UserAgent=****
nz.xero.ConsumerKey=****
nz.xero.ConsumerSecret=****
nz.xero.PrivateKeyCert=****
nz.xero.PrivateKeyPassword=****

我想要的是一种创建包的方法,然后让用户根据需要创建尽可能多的客户端,因此可以创建一些类似属性的数组。并且仅使用Xero前缀。

xero[1].property
xero[2].property 

我希望我要问的问题很清楚。

1 个答案:

答案 0 :(得分:0)

我在SpringBoot 2中找到了一个使用新的Binder api的最佳方法的解决方案