问题:
您想要加载以下列表属性文件中的值并使用 Spring @Value 注释将其直接注入到您的类中。这些值表示为逗号分隔的列表。
答案:
要使用 Spring EL 加载值列表,请使用以下命令注释字段@Value 并指定 EL 表达式来提取值:
@Value("#{'${my.list.of.strings}'.split(',')}") private List<String> myList;
此表达式使用 split() 函数将属性文件中的值分隔成列表。
或者,您可以在中定义一个 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中文网其他相关文章!