首頁 >Java >java教程 >如何使用 @Value 將屬性檔案中的逗號分隔清單注入 Spring Bean 中?

如何使用 @Value 將屬性檔案中的逗號分隔清單注入 Spring Bean 中?

DDD
DDD原創
2024-12-04 12:53:11686瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn