Spring 支持以下五种 bean 的作用域:
singleton: 单例作用域。在整个应用程序的生命周期中,只有一个实例存在。
prototype: 原型作用域。每次请求都会创建一个新的实例。
request: 请求作用域。在一次 HTTP 请求中,只创建一个实例。
session: 会话作用域。在一个 HTTP 会话中,只创建一个实例。
application: 应用程序作用域。在整个应用程序的生命周期中,只有一个实例存在,适用于 ServletContext 中。
您可以使用注解或 XML 配置来定义 bean 的作用域。例如,可以在单例作用域中使用以下注解:
@Scope("singleton")
@Component
public class MyBean { ... }
或者,可以使用以下 XML 配置:
<bean id="myBean" class="com.example.MyBean" scope="singleton"/>