利用会话bean或在会话中存储自定义对象?

时间:2012-01-16 21:43:00

标签: java spring java-ee tomcat

我对以下内容感到困惑:
我可以存储一个自定义对象供以后在httpsession对象中使用 以后的使用我的意思是在同一个会话期间使用各种servlet /过滤器。

或者我可以使用Spring session bean。

我想知道(将其他参数放在一边)我会通过使用Spring的session bean获得任何好处吗?

我没有看到一些重要的区别。

2 个答案:

答案 0 :(得分:2)

您可以在会话bean中注入其他bean。

如果它是一个简单的价值持有者,它没有太大的区别。但是如果你想对这些值进行操作(通过调用服务),那么将它作为spring bean是有益的。

另一个优点是您的代码不依赖于servlet API。它更容易测试。

答案 1 :(得分:1)

您可以直接将会话范围的Spring bean注入其他bean,甚至是任何应用程序层(服务甚至DAO)中的单例。

Spring完成了包装bean的魔力,并始终路由到适当的对象。如果没有会话范围的bean,您注定要直接与HTTP会话交互。这也使得测试更加困难。