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

前端之家收集整理的这篇文章主要介绍了java – Web应用程序中的Spring bean范围.最佳做法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

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

万岁州

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

短暂的国家

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

没有国家

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

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

猜你在找的Spring相关文章