首页 > Java > java教程 > 如何使用 @Value 将属性文件中的逗号分隔列表注入到 Spring Bean 中?

如何使用 @Value 将属性文件中的逗号分隔列表注入到 Spring Bean 中?

DDD
发布: 2024-12-04 12:53:11
原创
677 人浏览过

How to Inject a Comma-Separated List from a Properties File into a Spring Bean Using @Value?

使用 Spring 注解 @Value 从属性文件中读取列表

问题:

您想要加载以下列表属性文件中的值并使用 Spring @Value 注释将其直接注入到您的类中。这些值表示为逗号分隔的列表。

答案:

  1. 使用 Spring 表达式语言 (EL)

要使用 Spring EL 加载值列表,请使用以下命令注释字段@Value 并指定 EL 表达式来提取值:

@Value("#{'${my.list.of.strings}'.split(',')}")
private List<String> myList;
登录后复制

此表达式使用 split() 函数将属性文件中的值分隔成列表。

  1. 使用 Spring 配置 Bean

或者,您可以在中定义一个 bean你的 Spring 配置文件并使用 @Value 注入它:

<bean name="list">
    <list>
        <value>ABC</value>
        <value>CDE</value>
        <value>EFG</value>
    </list>
</bean>
登录后复制

然后,在你的类中:

@Value("${list}")
private List<String> myList;
登录后复制

注意:确保你的属性文件正确已加载到您的 Spring 应用程序上下文中。

自定义代码选项:

如果您想在没有自定义代码的情况下完成此工作,您可以创建一个从属性文件读取列表的自定义 PropertySource。但是,目前不支持开箱即用的此选项。

以上是如何使用 @Value 将属性文件中的逗号分隔列表注入到 Spring Bean 中?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板