В моем приложении я использую bean-компонент User
, который автоматически подключен к моему сервису MyService
, и он используется в качестве принципа, вошедшего в информацию пользователя (поэтому пользователь не приходит как статический бин из xml, а генерируется динамическиот зарегистрированного пользователя) Если в систему вошли десять пользователей, у меня будет десять кандидатов на поле @AutoWired
User
.(верно?), и я могу получить любой из них, потому что AutoWired выглядит в контейнере Spring, а не в сеансе.
, скажите мне, если я ошибаюсь в этом.и как на самом деле решить это, если это возможно.Но что, если мое поле AutoWired помечено @Scope ("Session")
Примерно так:
@Component("user")
@Scope("session")
public class User
{
String userid;
String name;
//getter setters etc
}
@Component
public class MyService
{
@Autowired
private User user;
}
Возможно ли получить бин User другого пользователя при вызове моегоMyService
Компонент.Cos MyService
- это всего лишь @Component
, хотя User
равно @Scope(session)
.
В основном, (если я ошибаюсь в своем предположении), я думаю, что когда вы @Autowire
поле, его внешний видв контейнер в целом, и контейнер не разделен на подконтейнеры для сеанса.