gpt4 book ai didi

spring - 找不到能够从类型 [java.lang.String] 转换为类型 [java.util.LinkedHashMap] 的转换器

转载 作者:行者123 更新时间:2023-12-01 01:31:13 24 4
gpt4 key购买 nike

spring boot 2.1.1 无法读取 yml 配置到 LinkedHashMap

这是我的类(class)

我提供了 get 和 set 函数。但它不起作用。

@Getter
@Setter
@Configuration
@ConfigurationProperties("shiro")
public class ShiroConfiguration {
private LinkedHashMap<String, String> filterChainDefinitions;
}

这是我的配置
shiro:
filterChainDefinitions:
/**: origin

这是错误信息
Description:

Failed to bind properties under 'shiro.filter-chain-definitions' to java.util.LinkedHashMap<java.lang.String, java.lang.String>:

Reason: No converter found capable of converting from type [java.lang.String] to type [java.util.LinkedHashMap<java.lang.String, java.lang.String>]

Action:

Update your application's configuration

最佳答案

@ConfigurationProperties 无法从您的属性映射 LinkedHashMap。您必须使用不支持的 SpEL,如前所述 here
要解决您的问题,可以通过添加 @Value 注释来更新配置,例如:

@Getter
@Setter
@Component
public class ShiroConfiguration {

@Value("#{${shiro.filter-chain-definitions}}")
private LinkedHashMap<String, String> filterChainDefinitions;

}

关于spring - 找不到能够从类型 [java.lang.String] 转换为类型 [java.util.LinkedHashMap<java.lang.String, java.lang.String>] 的转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53811187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com