2014-01-14 61 views
0

我正在將Spring XML配置遷移到基於Java的配置。在這個過程中,我遇到了集合類型數據的情況,不知道如何在基於Java的配置中處理它。例如,基於Spring Java的配置中的收集數據

<util:map id="imageDimensions" map-class="java.util.HashMap"> 
    <entry key="regular" value="640x480" /> 
    <entry key="small" value="320x240" /> 
    <entry key="thumb" value="200x150" /> 
</util:map> 

如果我不想在Java配置中擁有此映射數據,那麼我需要做些什麼呢?

回答

0

你必須在你的配置中添加豆:

@Bean 
public Map<String, String> imageDimensions() { 
    // create your map 
} 

如果你喜歡有例如屬性文件,你必須注入環保領域,然後通過調用的getProperty(地圖數據)來檢索和設置的所有需要的元素。

@Configuration 
public class AppConfig { 

    @Inject Environment env; 

    @Bean 
    public Map<String, String> imageDimensions() { 
     Map<String, String> map = new HashMap<>(); 
     // create your map 
     return map; 
    } 

} 

您也可以當然讀取XML或YAML文件

+0

感謝您的輸入該數據。我發現使用@ImportResource的導入資源方法更適合我的需要。這使我可以在不編譯Java代碼的情況下更改配置數據。 – vic

+0

使用ImportResource,您仍然可以在XML中使用部分配置。我的解決方案允許您閱讀(手動),例如從yaml或屬性文件 –

相關問題