我需要在Spring的单个.properties文件中定义多个配置块。目前我有多个.properties文件,如下所示:
one.properties:
publishing.channel=ftp
ftp.user=user1
ftp.password=pass1
ftp.host=abc.xyz.com
ftp.port=21
two.properties
publishing.channel=ftp
ftp.user=user2
ftp.password=pass2
ftp.host=def.xyz.com
ftp.port=21
我现在需要的是只定义一个.properties文件并在其中添加所有配置块,如下所示:
publishing.channel=ftp
ftp.user=user1
ftp.password=pass1
ftp.host=abc.xyz.com
ftp.port=21
然后另一个
publishing.channel=ftp
ftp.user=user2
ftp.password=pass2
ftp.host=cdf.xyz.com
ftp.port=21
也可能是http
publishing.channel=http
http.user=user2
http.password=pass2
http.host=cdf.xyz.com
问题是当我放置这样的多个属性块时,我无法区分代码,因为我的bean方法(例如getHost()
)只会获取属性文件中最后声明的一个。我不想创建许多变量,如host1,host2,host3等,因为如果添加了另一个属性块,则需要修改它们。我怎样才能使它成为通用的?
提前致谢。
答案 0 :(得分:0)
您可以使用Apache Commons Configuration中的PropertiesConfiguration,然后访问相同密钥的所有值并添加逻辑以获取所需的值。
使用getStringArray(key)方法或getList(key)方法访问所有值。