这个lazy-init没太明白,如果是false的话,是指在容器启动时就对配置文件进行解析,并生成所有的beandefinition吗?如果似乎true的话,就是直到getBean调用的时候才解析,是这样吗?
[b]问题补充:[/b]
我对“实例化”优点怀疑,很难想象当lazy-init=false时,容器会在启动时就要对所有对象实例化,不管用不用到,所以我怀疑只是解析配置文件,实例化得是bean对应的beandefinition实例,而不是bean对应class的实例
一个设置为lazy-init属性的bean,就意味要延迟加载,也就是IoC 容器将第一次被用到时才开始实例化。
bean的默认lazy-init=false,不需要延迟加载,IoC 容器将在服务器启动的时候,会解读ApplicationContext.xml文件,不管你是不是要使用该bean,都会先进行实例化。这会造成启动的时候,特别的慢。但是,也是最保险的方法。
实例化得是bean对应的beandefinition实例,也会实例化bean对应class的实例