spring中的bean何时被实例化的

今天在读spring技术内幕的时候,里面有一句话,在容器初始化完成以后,IoC容器的使用就准备好了,在客户第一次向IoC容器请求Bean时,IoC容器对相关的Bean依赖关系进行注入。当我deBug项目的时候,发现TOMCAT启动的阶段,就开始调用相关配置Bean的构造方法实例化,我想知道bean到底是在那个阶段实例化?

3个回答

1、单例是在Spring IoC容器初始化时初始化,容器初始化完毕 Bean就被初始化了
即默认是立即初始化 可以设置lazy="true" 来延迟初始化(即第一次访问时)

2、原型 是获取时初始化

jinnianshilongnian
jinnianshilongnian 可以参考我的 跟我学spring3 http://jinnianshilongnian.iteye.com/blog/1413851
7 年多之前 回复

那要看你使用的是什么框架了,有些框架在应用启动时就向spring容器请求bean实例化了。
一般来说,客户第一次向容器请求bean时实例化的说法是没错的。

这要说道spring bean的作用域了。、
参见[url]http://demojava.iteye.com/blog/1409988[/url]
1.默认web服务器启动时初始化 singleton 在每个Spring IoC容器中一个bean定义对应一个对象实例。

2.prototype 一个bean定义对应多个对象实例。

3.request 在一次HTTP请求中,一个bean定义对应一个实例;即每次HTTP请求将会有各自的bean实例,它们依据某个bean定义创建而成。该作用域仅在基于web的Spring ApplicationContext情形下有效。

4.session 在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效。

5.global session 在一个全局的HTTP Session中,一个bean定义对应一个实例。典型情况下,仅在使用portlet context的时候有效。该作用域仅在基于web的Spring ApplicationContext情形下有效。
还有自定作用域的spring

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问