Следующий код возвращает нуль:Использование сеанса контекстного Bean
AController.java
private MyAppUser getMyAppUser(HttpSession session) {
MyAppUser myAppUser = (MyAppUser) session.getAttribute("myAppUserManager");
return myAppUser;
}
Я также попытался это:
AController.java
@Autowired
MyAppUser myAppUser;
Несмотря на то, что я следующий в моем контексте:
<bean id="myAppUserManager" class="com.myapp.profile.MyAppUser" scope="session"/>
Это не имеет для меня никакого смысла, bean bean bean bean be be be be be an bean, который абсолютно никогда не может быть нулевым, и мне нужно быть abl e, чтобы ссылаться на нее с контроллеров, я не нуждаюсь в ней в службах или репозиториях, просто контроллерах, но, похоже, она не хранится в сеансе, прецедент чрезвычайно прост, но я не смог дошли до того, что не так, или придумайте хорошее обходное решение.
Код, который я связал, находится в аннотированном контроллере, поэтому я не могу ссылаться в свойствах в конфигурации, как в документации, на которую вы ссылаетесь. Фактически, я уже просмотрел эту документацию. Мне нужен этот объект и в каждом контроллере, поэтому я не собираюсь преобразовывать все это в формат XML. Я также попробовал autowiring «myAppUser», который не прошел с исключением при развертывании, является ли контроллер не сеансом или запросом? Я считаю, что трудно поверить. – walnutmon
@jboyd: Контроллеры по умолчанию имеют одинарную область, как и любой другой компонент. Кроме того, вам не нужно вводить контроллеры в XML - в XML должен быть определен только фрагментированный компонент, в котором определяется ' '. –
skaffman