当通过Spring容器创建一个Bean 实例时, 不仅可以完成Bean 的实例化 还可以通过scope 属性,为Bean 指定特定的作用域。
Singleton 单例模式:即在整个Spring容器中, 使用singletone定义的Bean 是单例的。
Prototype 原型模式:即每次使用getBean方法获取的同一个<bean />的实例都是一个新的实例。
Request:对于每次HTTP请求,都将会产生不同的Bean实例。
Session:对于每个不同的HTTP session,都会产生一个不同的Bean 实例。
Global session:每个全局的HTTP session对应一个Bean实例,典型情况下,仅在使用portlet 集群时有效,多个Web应用共享一个session。
对于Scope 为request,session 和global session,只有在web 应用中使用Spring时,该作用域才有效。
对于Scope 为singleton 的单例模式,该Bean 是在容器被创建时即被装配好了。
对于Scope为prototype 的原型模式,Bean 实例是在代码中使用该Bean实例时才进行装配的。