0

我正在将 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 配置中拥有这个地图数据,我需要做什么?

4

1 回答 1

0

您必须在配置中添加 bean:

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

如果您希望将地图数据放在例如属性文件中,则必须注入 Environment 字段,然后调用 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 文件中读取这些数据

于 2014-01-14T23:11:35.257 回答