Spring @Autowired confusion (container or session)

В моем приложении я использую боб 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 Component. Потому что MyService является только @Component, хотя User является @Scope(session).

В принципе, (если я не прав в своем предположении) я думаю, что когда вы @Autowire поле, оно рассматривает контейнер в целом, и контейнер не делится на подконтейнеры для каждой сессии.

12
задан skaffman 15 January 2012 в 12:17
поделиться