Spring 中 Bean 的作用域(必背)

1,674 total views, 3 views today

Bean 的作用域,这里的作用域并不是程序代码中,变量的作用范围,而是指对象的创建的模式。Spring 5 之后有如下几个方式:

singleton (default)

指的是一个 Spring 容器中仅有一个实例,即改 Bean 是单例存在的。是 Spring 中的默认方式

prototype

和 singleton 想反,每次从容器获取对象,都是获得一个新的实例。

request

这个作用域只有在 web 项目中有效,指的是同一个 http 请求中,获取容器中的实例都是单例的。

session

同样的,只在 web 项目中有效,在每一次 session 的生命周期中,获取的容器中的实例都是单例的。

application

只在 web 项目中有效,在每一次 Servlet 上下文的生命周期中,获取的容器中的实例都是单例的。

websocket

只在 web 项目中有效,在每一次 WebSocket 的生命周期中,获取的容器中的实例都是单例的。

 

对于某个对象,指定作用域,可以使用 Scope 注解,如下:

 

 

原创文章,转载请注明出处!http://www.javathings.top/spring中bean的作用域(必背)/

About: wusq


发表评论

邮箱地址不会被公开。 必填项已用*标注