基于Spring Java的配置中的集合数据

时间:2014-01-14 23:08:49

标签: spring spring-java-config

我正致力于将Spring XML配置迁移到基于Java的配置。在此过程中,我遇到了集合类型数据的情况,并且不知道如何在基于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配置中使用此地图数据,我需要做些什么呢?

1 个答案:

答案 0 :(得分:0)

您必须在配置中添加bean:

@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文件中读取此数据