Объект @ConfigurationProperties возвратил нуль в весеннем загрузочном приложении - PullRequest
0 голосов
/ 15 мая 2018

У меня есть объект конфигурации, который сопоставлен с файлом конфигурации, как показано ниже:

@Data
@Component
@ConfigurationProperties("app.cors")
public class DomainProperties {
    private Map<String, String> domainMap;
}

и мой файл application.properties выглядит следующим образом:

app.cors.domainMap.local=localhost:8080
app.cors.domainMap.onlive=test.com

Я пытаюсь прочитать значения в domainMap из вышеуказанного файла свойств, чтобы установить их в качестве заголовков Access-Control-Allow-Origin для ответа моего приложения. То, что я сделал до сих пор:

public class HeaderInterceptor extends HandlerInterceptorAdapter {

    @Autowired
    private DomainProperties domainProperties;
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            throws Exception {
        List<String> domainList= domainProperties.getDomainMap().values().stream().collect(Collectors.toList());
        domainList.stream().forEach(domain -> response.addHeader("Access-Control-Allow-Origin", domain));
        return super.preHandle(request, response, handler);
    }

но проблема в том, что я получил обратно null domainProperties объект, поэтому здесь выдается исключение NullPointerException.

Может кто-нибудь объяснить мне, почему я получил здесь null domainProperties объект? и как решить эту проблему. Спасибо заранее!

...