【发布时间】:2014-03-06 07:48:27
【问题描述】:
我想在 Spring 中有一个作用域变量。在 Guice 中非常简单:
@Singleton
class MyBean
{
@Inject @Named("session-scoped")
private Provider<Integer> someString;
void doSomething()
{
// returns a random number for a current session.
// Each user session should generate new number,
// but one session should keep the same number.
Integer n1 = someString.get();
Integer n2 = someString.get();
assert n1 == n2;
}
}
...
class MyModule extends AbstractModule
{
@Override
protected void configure()
{
...
}
@Provides
@SessionScoped
@Named("session-scoped") Integer someString()
{
return new Random().nextInt();
}
}
我如何在 Spring 中做类似的事情?
请记住,它是 java.lang.Integer,而不是某些用户 bean,它不能被 aop 代理。
【问题讨论】:
标签: java spring web-applications guice