Код: Выделить всё
@Singleton
class MyBean
{
@Inject @Named("session-scoped")
private Provider 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();
}
}
Имейте в виду, что это java.lang.Integer, а не какой-то пользовательский компонент, его нельзя проксировать aop.>
Подробнее здесь: https://stackoverflow.com/questions/216 ... -in-spring
Мобильная версия