Spring getBean非常慢

时间:2015-06-01 16:17:01

标签: java spring object-create

以下代码用于创建多个bean并将其添加到列表中以供进一步使用

        final List<Flow<Result>> tasks = new ArrayList<>();

        for (long i : manyLongs) {
            tasks.add((Flow<Result>) ctx.getBean("flowBeanName", "string" number));
        }

manyLongs是一个约350000项的ArrayList。也许更多。我注意到这段代码需要大约2分钟才能运行。我试图创建并添加到任务的Bean是一个Prototype。

我可以理解,创建350K新对象可能需要时间,但对于两个字段的轻量级对象,2分钟似乎有点太多了。有没有办法在不改变设计的情况下有效地创建弹簧对象?

更新

Luiggi Mendoza 是对的。我在构造函数中有两点对对象创建造成了影响。第一个是我是一个懒惰的加载调用,但最糟糕的是构造函数中的JSON对象的反序列化,尽管它不需要在那里。

只是为了测试我检查了创建没有Spring的bean,虽然它明显更快,但它比spring更快几秒钟。

0 个答案:

没有答案