Spring Boot配置属性注入map不工作

时间:2017-12-10 07:30:40

标签: spring spring-boot

我一直在尝试从自定义配置文件中注入地图。但不知怎的,它没有奏效。如果是bean的配置。

@Component
@EnableConfigurationProperties
@ConfigurationProperties
@PropertySource("classpath:pro-idp-properties.properties")
public class IDPConfig {
    private  final Map<String, String> configMap = new HashMap<>();

    public Map<String, String> getConfigMap() {
        return configMap;
    }
}

有谁能告诉我我做错了什么?我跟着这个post重试但是我觉得今天天气很糟糕:(

2 个答案:

答案 0 :(得分:1)

终于找到了解决方案。我做错了是我使用/配置了错误的配置文件。纠正了它,它工作正常。下面是任何人都应该用来在代码中注入map的最小注释。

@Configuration
@PropertySource("classpath:/pro-idp-properties.properties")
@ConfigurationProperties
public class IDPConfig {
   private  final Map<String, String> events = new HashMap<>();

   public Map<String, String> getEvents() {
    return events;
   }
}

**配置文件**

events.name1=value1
events.name2=value2
events.name12=value1
events.name22=value2

答案 1 :(得分:0)

为地图字段添加一个setter。