增加Spring引导属性的列表的默认大小

时间:2016-11-10 05:00:28

标签: java spring spring-boot

我正在使用以下配置运行Spring启动应用程序

    @ConfigurationProperties(prefix= "app.sample")
    @Component
    public class PropGenerator{

        private List<String> list;

        public List<String> getList() {
            return list;
        }
        public void setList(List<String> list) {
            this.list = list;
        }
}

我的application.properties有以下格式配置的300个条目

app.sample.list [0] = VALUE1 。

app.sample.list [299] = value300

当我运行程序时,我收到以下错误

    Invalid list index in property path 'list[279]'; nested exception is java.lang.IndexOutOfBoundsException: Index: 279, Size: 251
Caused by: java.lang.IndexOutOfBoundsException: Index: 279, Size: 251

如何手动覆盖列表的大小,以便在list变量中自动填充所有300个值?我遇到了@InitBinder,但无法让它工作。

2 个答案:

答案 0 :(得分:0)

您不应该(ab)使用属性文件作为数据存储。请改用数据库。您can use data.sql script使用您的值预先填充数据库。

答案 1 :(得分:0)

我们必须在必要时进行自动增长集合,并且曾经存在Spring Boot 1.3.7中更改的限制(请参阅#6436)。根据您当前使用的版本,升级应该修复它。如果没有,请创建一个样本来重现问题并创建问题in the Spring Boot issue tracker