如何改变spring会话/请求scoped bean的状态?

时间:2010-10-30 15:55:16

标签: session spring-mvc scope request

我真的很喜欢在Spring MVC应用程序中使用spring stereotype annotated beans,并且希望完全使用Spring scope注释。不再需要在HttpServletRequest或它的会话中摆弄。 有一件事我并不是很清楚,也许有人可以给我一些关于如何处理这个问题的见解或解释。我有一个缓存实现了单独的spring bean。它缓存了某种类型“Foo”的几个对象。 Foo通过注释定义为会话范围的bean。预期的行为是每个新会话都有自己的“Foo”实例。如何将其中一个“foo”实例的状态移动到会话作用域Foo(复制,克隆或简单分配)?我想实现将缓存中的Foo实例存储到HttpSession中可用的会话中的相同行为,但这通过Spring会话作用域对象实现。目标是删除所有移动到HttpSession的样板代码并从HttpSession中检索。

我如何定义Foo的示例:

@Component
@Scope(value="session",proxyMode=ScopedProxyMode.TARGET_CLASS)
public class Foo extends BaseEntity { 
    //Some stuff done here
    private Long id;

}

1 个答案:

答案 0 :(得分:0)

好的,所以我通过声明一个会话bean解决了这个问题,我在其中存储了从缓存中选择的元素....这实际上很容易解决。