@ConfigurationProperties对象在spring启动应用程序中返回null

时间:2018-05-15 12:39:11

标签: spring-boot properties-file

我有一个配置对象,它映射到配置文件,如下所示:

@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 对象?以及如何解决这个问题。先谢谢你了!

0 个答案:

没有答案