gpt4 book ai didi

spring - 将动态属性列表读入 Spring 托管 bean

转载 作者:IT老高 更新时间:2023-10-28 13:46:14 25 4
gpt4 key购买 nike

我一直在搜索,但找不到这些步骤。我希望我遗漏了一些明显的东西。

我有一个包含以下内容的属性文件:

machines=A,B

我有另一个类似的文件,但机器元素中有不同数量的成员,如下所示:

machines=B,C,D

我的问题是如何以通用方式将这个可变长度的机器变量加载到我的 spring 配置中的 bean 中?

类似这样的:

<property name="machines" value="${machines}"/>

在我的 java 代码中,machines 是一个数组或列表。如果我能弄清楚如何做到这一点,我可以随意定义它。

基本上,我宁愿让 spring 进行解析并将每个值粘贴到列表元素中,而不是我必须编写读取完整机器字符串的内容并自己进行解析(使用逗号分隔符)来放置每个值放入数组或列表中。有没有一种我想念的简单方法来做到这一点?

最佳答案

您可能想看看 Spring 的 StringUtils 类。它有许多有用的方法可以将逗号分隔的列表转换为 Set 或 String 数组。您可以使用这些实用方法中的任何一种,使用 Spring 的工厂方法框架,将解析后的值注入(inject)到您的 bean 中。这是一个例子:

<property name="machines">
<bean class="org.springframework.util.StringUtils" factory-method="commaDelimitedListToSet">
<constructor-arg type="java.lang.String" value="${machines}"/>
</bean>
</property>

在本例中,'machines' 的值是从属性文件中加载的。

如果现有的实用程序方法不能满足您的需求,创建您自己的方法非常简单。这种技术允许您执行任何静态实用程序方法。

关于spring - 将动态属性列表读入 Spring 托管 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5274362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com