高级装配—bean的作用域
高级装配—bean的作用域 Spring定义了多种作用域,可以基于这些作用域创建bean,包括: 单例(Singleton):在整个应用中,只创建bean的一个实例. 原型(Prototype):每次注入或者通过Spring应用上下文获取的时候,都会创建一个新的bean实例. 会话(Session):在web应用中,为每个会话创建一个bean实例. 请求(Request):在web应用中,为每个请求创建一个bean实例. 单例是默认的作用域,但是正如之前所描述,对于易变的类型,这并不合适.如果选择其他作用域,要使用@Scope注解,他可以和@Component或@Bean一起使用. @Component @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public class NotPad { } @Component @Scope("prototype") public class NotPad { } 当然你也可以用XML来配置bean: <bean id="notPad" class="com.home.demo2.NotPad" scope="prototype"/> 使用会话和请求作用域 在web的应用中经常会用到会话和请求的作用域,这里就拿购物车这个例子来说吧,每个客户都会向购物车添加商品