Spring bean 支持 5 种 scope:
Singleton - 每个 Spring IoC 容器仅有一个单实例。Prototype - 每次请求都
会产生一个新的实例。Request - 每一次 HTTP 请求都会产生一个新的实例,并
且该 bean 仅在当前 HTTP 请求内有效。Session - 每一次 HTTP 请求都会产
生一个新的 bean,同时该 bean 仅在当前 HTTP session 内有效。
Global-session - 类似于标准的 HTTP Session 作用域,不过它仅仅在基于
portlet 的 web 应用中才有意义。Portlet 规范定义了全局 Session 的概念,
它被所有构成某个 portlet web 应用的各种不同的 portlet 所共享。在 global
session 作用域中定义的 bean 被限定于全局 portlet Session 的生命周期范
围内。如果你在 web 中使用 global session 作用域来标识 bean,那么 web
会自动当成 session 类型来使用。
仅当用户使用支持 Web 的 ApplicationContext 时,最后三个才可用。