博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Bean scopes
阅读量:4198 次
发布时间:2019-05-26

本文共 1667 字,大约阅读时间需要 5 分钟。

The singleton scope

Only one shared instance of a singleton bean is managed管理, and all requests for beans with an id or ids matching that bean definition定义 result in that one specific bean instance being returned by the Spring container.

To put it another way, when you define a bean definition and it is scoped as a singleton, the Spring IoC container creates exactly精确one instance of the object defined by that bean definition. This single instance is stored in a cache缓存 of such singleton beans, and all subsequent requests and references for that named bean return the cached object.

The prototype scope

The non-singleton, prototype scope of bean deployment展开 results in the creation of a new bean instance every time a request for that specific特定 bean is made. That is, the bean is injected注入 into another bean or you request it through a getBean() method call on the container. As a rule规定, use the prototype scope for all stateful有状态 beans and the singleton scope for stateless没状态 beans.

The following diagram图表 illustrates阐明 the Spring prototype scope. A data access object (DAO) is not typically代表性 configured as a prototype, because a typical标准 DAO does not hold any conversational 回话式state; it was just easier for this author to reuse the core of the singleton diagram.

Request, session, and global session scopes

The requestsession, and global session scopes are only available if you use a web-aware Spring ApplicationContext implementation (such asXmlWebApplicationContext). If you use these scopes with regular Spring IoC containers such as the ClassPathXmlApplicationContext, you get an IllegalStateException complaining about an unknown bean scope.

转载地址:http://zgzli.baihongyu.com/

你可能感兴趣的文章
【JAVA-SE】基础知识
查看>>
【JAVA-SE】流程控制语句
查看>>
【JAVA-SE】面向对象
查看>>
【JAVA-SE】数组与集合
查看>>
【JAVA-WEB】HTML
查看>>
【JAVA-WEB】CSS
查看>>
【JAVA-WEB】JavaScript
查看>>
【JAVA-WEB】JDBC
查看>>
【JAVA-WEB】JSON
查看>>
FFMPEG使用NVIDIA的GPU硬件转码
查看>>
MacOS 查看动态库链接
查看>>
ffplay 播放 raw 数据
查看>>
linux下使用ffmpeg录屏
查看>>
判断是否工作在docker环境
查看>>
Requested operation is not valid: network 'default' is not active
查看>>
Centos作为host主机部署kvm虚拟化平台
查看>>
Debian9作为host主机部署kvm虚拟化平台
查看>>
nginx四层网络代理实现
查看>>
MacOS命令行运行Chrome
查看>>
python获取当前计算机cpu数量
查看>>