@Scope注解的含义
时间: 2023-07-03 10:09:42 浏览: 154
`@Scope`是Spring Framework中的注解之一,用于定义Bean的作用域。它可以用于类级别和方法级别,用于指定Bean的生命周期。
在Spring中,Bean的作用域定义了Bean实例的生命周期或范围。`@Scope`注解有以下几种取值:
- `singleton`:单例模式,整个应用中只有一个Bean实例。
- `prototype`:原型模式,每次请求Bean时都会创建一个新的Bean实例。
- `request`:适用于Web应用,每次HTTP请求都会创建一个新的Bean实例,该Bean仅在当前HTTP请求内有效。
- `session`:适用于Web应用,每个HTTP Session都会创建一个新的Bean实例,该Bean仅在当前Session内有效。
- `globalSession`:适用于Portlet应用,每个Portlet全局Session都会创建一个新的Bean实例。
- `application`:适用于Web应用,整个Web应用中只有一个Bean实例。
使用`@Scope`注解还可以自定义作用域,只需实现`org.springframework.beans.factory.config.Scope`接口即可。
示例代码:
```java
@Component
@Scope("prototype")
public class MyBean {
// ...
}
```
在上面的示例中,`MyBean`注解标记了`@Scope("prototype")`,表示它的作用域为原型模式,每次请求Bean时都会创建一个新的Bean实例。
阅读全文