在Spring框架中,支持的几种常见的Bean作用域有以下五种:
@Component
public class MySingletonBean {
// ...
}
getBean()
方法或注入依赖时,都会返回一个新的Bean实例。@Component
@Scope("prototype")
public class MyPrototypeBean {
// ...
}
@Component
@Scope(value = WebApplicationContext.SCOPE_REQUEST, proxyMode = ScopedProxyMode.TARGET_CLASS)
public class MyRequestScopedBean {
// ...
}
@Component
@Scope(value = WebApplicationContext.SCOPE_SESSION, proxyMode = ScopedProxyMode.TARGET_CLASS)
public class MySessionScopedBean {
// ...
}
@Component
@Scope(value = WebApplicationContext.SCOPE_APPLICATION, proxyMode = ScopedProxyMode.TARGET_CLASS)
public class MyApplicationScopedBean {
// ...
}
这些作用域可以根据实际需求选择,用于控制Bean实例的生命周期和可见范围。在非Web环境中,通常使用Singleton和Prototype作用域。而在Web环境中,除了Singleton和Prototype,还可以使用Request、Session和Application作用域。
Proudly powered by WordPress