加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – Web应用程序中的Spring bean范围.最佳做法

发布时间:2020-12-15 01:25:35 所属栏目:大数据 来源:网络整理
导读:我对这个话题有些怀疑. 在我们的大多数Spring bean(dao`s,服务和控制器)的应用程序中,我们使用“请求”范围.这种方法允许我们减少内存使用并创建无状态层.但另一方面,我们在Spring上下文初始化的每个请求上都松散了性能. 我想创造一些豆类,例如DAO层,在“单

我对这个话题有些怀疑.
在我们的大多数Spring bean(dao`s,服务和控制器)的应用程序中,我们使用“请求”范围.这种方法允许我们减少内存使用并创建无状态层.但另一方面,我们在Spring上下文初始化的每个请求上都松散了性能.
我想创造一些豆类,例如DAO层,在“单例”或“原型”范围内.

您在应用程序中使用了哪些技术?
也许存在一些设计Spring Web应用程序bean范围的建议?

最佳答案
我在决定时倾向于使用的一般规则如下:

万岁州

这是需要在多个请求(http)上保留状态的时候.在这种情况下,存储在会话范围中是有意义的.

短暂的国家

当您需要为任何给定请求保持状态时.也许你正在为表单实现类似支持bean的东西.在这种情况下,我使用请求范围.

没有国家

这是单例,默认情况下是从spring生成的.除非我对状态有特定要求,否则我通常会坚持使用所有bean.当然它也更高效,因为bean只创建一次并被所有人使用.

在你的情况下,你的DAO&服务应该是无国籍的(如果他们不重新考虑你如何实现它们),因此应该是单身人士.控制器应该再次单独使用,但问题是它们是否包含状态?我不会过多担心内存消耗,记住所有邪恶的根源是过早优化.坚持使用最佳实践,如果不起作用则修复它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读