Не найден конвертер, способный преобразовать тип [java.lang.String] в тип [java.util.LinkedHashMap] - PullRequest
0 голосов
/ 17 декабря 2018

spring boot 2.1.1 не может прочитать конфигурацию yml в LinkedHashMap

это мой класс

Я предоставил функции 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

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Это может быть связано с тем, как вы вызываете свойство конфигурации.

Вы пытались переименовать путь к свойству:

filterChainDefinitions на filter

и

private LinkedHashMap<String, String> filterChainDefinitions;
до
private LinkedHashMap<String, String> filter;?

Такие ошибки также могут иногда возникать из-за неправильного кодирования или экранирования, но это не похоже надело здесь.

0 голосов
/ 17 декабря 2018

Вы можете использовать свойства конфигурации.Пример

@Component
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "shiro")
class YourComponent {

    private HashMap<String, Integer> filterChainDefinitions;

    public HashMap<String, Integer> getFilterChainDefinitionsta() {
        return filterChainDefinitions;
    }

    public void setFilterChainDefinitions(HashMap<String, Integer> filterChainDefinitions) {
        this.filterChainDefinitions= filterChainDefinitions;
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...