豆之春“会话”范围(Spring “session” scope of a bean)

2019-11-03 13:21发布

这在我看来,“会话”范围的另一种方式,以保持在会话对象为

使用setAttrubute /的getAttribute

正确?

你知道的,不知道为什么,它不会为我工作。

<豆ID = “sabreUser” 类= “util.MyUser” 工厂方法= “getSomeUser” 范围= “会话”>

<常量ARGS ...>

我看到的是,初始化和初始部署后MYUSER属性是否正确。

然后,我改变MYUSER财产的第一届会议上被关闭。

第二届运行,并从前一交易日看到最后一组值!

这意味着什么?

我希望,每当一个新的会话开始初始化这个对象。 但它更好看起来单身,但你看 - “会话”属性设置。

我可以看到一个Servlet的领域问题的原因与@Autowired初始化如此,一旦被初始化,所有其他会议将看到其字段设置,不“重新连接”这一特性。 它发生一次? 如何解决这个问题?

Answer 1:

春季会议没有HttpSession中完全一致,甚至在@SessionAttributes注释Spring文档说,它可能会被存储在会话或“一些会话存储”。 我从春天文档2.5我已经基本上退出试图理解它,并刚刚与我的生活,如果我想存储在HttpSession中的东西,我只是有春天注入的HttpSession对我来说,假设你“再使用Spring MVC它很容易,在同一页上的说明。



Answer 2:

会话作用域bean是生活在整个HTTP会话bean。 它们存储在通过会议setAttribute以某种方式。

所以 - 是的。



Answer 3:

会话范围豆由Spring框架存储在HTTP会话中。 此范围只适用于网络application.It的情况下也适用于Portlet的envionments。 当Portlet的环境中使用,有会话,应用范围和Portlet范围(默认值)的两个概念。



文章来源: Spring “session” scope of a bean