Spring懒加载机制

一、什么是懒加载

Spring默认会在容器初始化的过程中,解析xml或注解,创建配置为单例的bean并保存到一个map中,这样的机制在bean比较少时问题不大,但一旦bean非常多时,spring需要在启动的过程中花费大量的时间来创建bean ,花费大量的空间存储bean,但这些bean可能很久都用不上,这种在启动时在时间和空间上的浪费显得非常的不值得。

所以Spring提供了懒加载机制。所谓的懒加载机制就是可以规定指定的bean不在启动时立即创建,而是在后续第一次用到时才创建,从而减轻在启动过程中对时间和内存的消耗。

懒加载机制只对单例bean有作用,对于多例bean设置懒加载没有意义,因为多例bean本来就是在使用时才创建的。

二、懒加载配置方式

1、xml配置

在xml文件里面,可以通过配置 lazy-init="true"来启用懒加载,。如下面的配置,设置cart启用懒加载,这样,在容器启动的时候,就不会立即创建bean cart,直到第一次使用的时候才会创建。




        

上面是单独设置某个bean的懒加载,我们还可以为全局配置懒加载,如下面的代码所示。




          

注意,如果同时设定全局和指定bean的懒加载机制,且配置不相同,则对于该bean局部配置会覆盖全局配置。

你可能感兴趣的:(Spring懒加载机制)