春豆加载的时间消耗

时间:2011-06-24 08:09:22

标签: spring

我正在努力减少Junit-test消耗的时间。因为我的XML文件中有数百个与所有测试相关的bean,而我只使用其中的两个或三个。

首先,我使用了 immediate-instantiate ,所有bean都是在最开始时加载的。它消耗的时间如下:

37593,33672,32187,32141,32641(毫秒)

当我将实例化方式更改为 lazy-init 时,消耗的时间如下:

18484,3784,3562,2859(毫秒)

有人可以告诉我为什么第一次和第二次以lazy-init方式急剧减少?

1 个答案:

答案 0 :(得分:2)

Lazy-init意味着只启动启动时所需的bean。所有其他bean实例都会被延迟,直到需要为止。

为了加快测试速度,您可以简单地为单元测试构建一个单独的XML配置,只包含您需要的bean。唯一的缺点是需要额外注意,以便文件保持同步。