有状态的bean和无状态的bean的区别
2024-09-06 01:31:07
有状态会话bean :每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”;一旦用户灭亡(调用结束或实例结束),bean的生命期也告结束。即每个用户最初都会得到一个初始的bean。 无状态会话bean :bean一旦实例化就被加进会话池中,各个用户都可以共用。即使用户已经消亡,bean 的生命期也不一定结束,它可能依然存在于会话池中,供其他用户调用。由于没有特定的用户,那么也就不能保持某一用户的状态,所以叫无状态bean。但无状态会话bean 并非没有状态,如果它有自己的属性(变量),那么这些变量就会受到所有调用它的用户的影响,这是在实际应用中必须注意的。
其中bean作用域中的singleton是无状态的作用域,prototype是有状态的作用域...bean的整个生命周期负责:容器在初始化、配置、装饰或者是装配完一个prototype实例后,将它交给客户端,随后就对该prototype实例不闻不问了。不管何种作用域,容器都会调用所有对象的初始化生命周期回调方法。但对prototype而言,任何配置好的析构生命周期回调方法都将不会被调用。清除prototype作用域的对象并释放任何prototype
bean所持有的昂贵资源,都是客户端代码的职责。(让Spring容器释放被prototype作用域bean占用资源的一种可行方式是,通过使用bean的后置处理器,该处理器持有要被清除的bean的引用。)
最新文章
- 关于bootstrap和响应式布局
- log4j 不同模块输出到不同的文件
- Odoo 8.0 new API 之Environment
- java开发常用工具
- Python – locals和globals
- sql:MySQL 6.7 表,视图,存储过程结构查询
- 【redis】04set类型和zset类型
- 详解C/C++函数指针声明 ( *( void(*)())0)();
- Android4.0 -- UI控件之 Menu 菜单的的使用(三)
- [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(二)
- Java web 引入wangEditor编辑器
- 安装Pangolin
- 在 sql 语句出现 warning 之后,立刻执行 `show warnings;` 就可以看到 warning 提示信息
- 数据库设计,表与表的关系,一对多。One-To-Many(2)
- 2018SDIBT_国庆个人第六场
- ORA-38301:can not perform DDL/DML over objects in Recycle Bin
- iOS开发-仿大众点评iPad侧边导航栏
- 浅析PCIe链路LTSSM状态机
- 【Html】Clipboard.js 实现点击复制,剪切板操作
- 纯CSS制作的TAB选项卡