1

我正在开发一个spring boot应用程序,我在 application.properties 中配置我的属性。我的问题是如何在 .properties 文件中配置地图属性。对于String它工作正常,但不适用于map

@Service(value = "myService")
@PropertySource(value = "classpath:application.properties")
@EnableConfigurationProperties
public class MyService
{
    @Value("${my.map.config}")
    private Map mapProperty;

public Map<String, String> getMapProperty()
    {
        return mapProperty;
    }

    public void setMapProperty(Map<String, String> mapProperty)
    {
        this.mapProperty = mapProperty;
    }
}

应用程序属性:

my.map.config.key1 = value1
my.map.config.key2 = value2

我还尝试如下更改我的 application.properties 文件,但仍然无法正常工作:

my.map.config = {key1: 'value1', key2: 'value2'}

错误:

原因:java.lang.IllegalStateException:无法将类型“java.lang.String”的值转换为所需类型“java.util.Map”:找不到匹配的编辑器或转换策略

让我知道如何通过 application.properties 文件让它工作?

4

0 回答 0