我想在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.lang.String',而不是SomeBean,它不能被代理。 – kan
@ kan啊我没有看到。让我回到你身边。 –
@ kan我认为这是你能做的最好的。匹配你在Guice做的事情。 –