1.singleton默认是单例的
<
bean id
=
"lin"
class
=
"lin.java.spring"
/>等同于
<
bean id
=
"lin"
class
=
"lin.java.spring" scope="sinleton"
/>
2.prototype是多例的
<
bean id
=
"lin"
class
=
"lin.java.spring"
scope
=
"prototype"
/>
注意:正常在初始化上下文ApplicationContext时就会创建对象,但是使用protype后就只有在getbean方法被调用时才会创建对象,否则不会。
3.其他scope
singleton:默认的,单例。
prototype:原型。每调⽤⼀次getBean()⽅法则获取⼀个新的Bean对象。或每次注⼊的时候都是新
对象。
request:⼀个请求对应⼀个Bean。
仅限于在WEB应⽤中使⽤
。
session:⼀个会话对应⼀个Bean。
仅限于在WEB应⽤中使⽤
。
global session:
portlet应⽤中专⽤的
。如果在Servlet的WEB应⽤中使⽤global session的话,和
session⼀个效果。(portlet和servlet都是规范。servlet运⾏在servlet容器中,例如Tomcat。
portlet运⾏在portlet容器中。)
application:⼀个应⽤对应⼀个Bean。
仅限于在WEB应⽤中使⽤。
websocket:⼀个websocket⽣命周期对应⼀个Bean。
仅限于在WEB应⽤中使⽤。
⾃定义scope:很少使⽤。