簡體   English   中英

Spring:將屬性文件注入map

[英]Spring: inject properties file into map

我有一個屬性文件如下:

transition.s1=s2,s5
transition.s2=s4,s1
...................

問題:如何將這些屬性注入Map<String, String> 你能提供一個例子嗎?

在XML配置的情況下

public class StateGraph {
    public StateGraph(Map<String, String> a){ 
    ...
    }
    boolean getStateTransition(){
    ...
    }
}

當屬性實現map時,您可以將其作為構造函數提供

<bean class="com.xxx.xxx.StateGraph">
    <constructor-arg>
        <util:properties location="classpath:props.properties"/> 
    </constructor-arg>
</bean>

請注意,Spring將執行所有必需的泛型類型轉換

如果您使用的是Java 5或Java 6,您將意識到可以使用強類型集合(使用泛型類型)。 也就是說,可以聲明Collection類型,使其只能包含String元素(例如)。 如果您使用Spring依賴注入一個強類型的Collection到bean中,您可以利用Spring的類型轉換支持,這樣強類型Collection實例的元素將在被添加到之前轉換為適當的類型。收藏。

如果您使用的是編程配置,那么您必須自己在@Configuration類中執行此操作 - 請參閱將java.util.Properties轉換為HashMap <string,string>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM