解释 Spring 支持的几种 bean 的作用域

发布时间 2023-08-30 21:50:42作者: gaojinhang
Spring 框架支持以下五种 bean 的作用域:
• singleton : bean 在每个 Spring ioc 容器中只有一个实例。
• prototype:一个 bean 的定义可以有多个实例。
• request:每次 http 请求都会创建一个 bean,该作用域仅在基于 web 的
Spring ApplicationContext 情形下有效。
• session:在一个 HTTP Session 中,一个 bean 定义对应一个实例。该作
用域仅在基于 web 的 Spring ApplicationContext 情形下有效。
• global-session:在一个全局的 HTTP Session 中,一个 bean 定义对应一
个实例。该作用域仅在基于 web 的 Spring ApplicationContext 情形下有
效。
注意: 缺省的 Spring bean 的作用域是 Singleton。使用 prototype 作用域需
要慎重的思考,因为频繁创建和销毁 bean 会带来很大的性能开销