首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置Spring会话作用域bean的属性名称?

如何设置Spring会话作用域bean的属性名称?
EN

Stack Overflow用户
提问于 2012-05-14 11:04:56
回答 2查看 2K关注 0票数 12

给定一个配置了会话范围的spring bean,例如:

代码语言:javascript
运行
复制
@Component
@Scope(proxyMode=ScopedProxyMode.TARGET_CLASS,value=WebApplicationContext.SCOPE_SESSION)
public class SomeBean {
}

有什么方法可以控制Spring在http会话中存储bean所使用的名称吗?

默认情况下,spring seams使用会话密钥scopedTarget.someBean,有什么我可以添加到注释中,以便在会话中显式指定属性名称吗?

EN

回答 2

Stack Overflow用户

发布于 2012-05-14 11:32:19

我会使用:

代码语言:javascript
运行
复制
@Component (value="mySpecialName")
@Scope (value="session")
票数 4
EN

Stack Overflow用户

发布于 2019-11-28 18:47:06

你不能。scopedTarget部件在Spring中的作用域代理创建中是硬编码的。因此,如果不重写框架的各个部分,这是不可能的。

该名称被硬编码在委托给ScopedProxyUtilsScopedProxyBeanDefinitionDecorator中。

使用作用域代理的事实是框架内部的一些东西。您可能希望使用它在会话中存储一些内容,并在页面或类似的内容中检索它。不要,只公开常规bean,它将委托给适当的作用域实例。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10577098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档