Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Spring stateful bean 
V
    Опции темы
xoslv
Дата 3.6.2013, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



Доброго времени суток!
Прошу подсказки! От помощи тоже не откажусь.
Изучаю Spring framework и хочу сделать сохраняющий состояние бин, который был бы доступен через обращение к контексту.
Для чего: Создал сервис авторизации пользователей и хочу добавлять ID пользователя в List<Integer> для того чтобы в дальнейшем можно было получить этот список и просмотреть, кто авторизован в данный момент.

Подскажите как это сделать?

Конфигурация Spring полностью на аннотациях и Java коде.

З.Ы. надеюсь понятно объяснил, что я хочу сотворить...
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
Pawl
Дата 4.6.2013, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: 3
Всего: 28



Можно пометить бин аннотацией @Service, а в контроллерах использовать его с аннотацией @Autowired. Правда, я не знаю, как регистрировать такие бины в крнтексте приложения при помощи аннотаций, а в конфигурационном xml-файле спринга они регистрируются так:
Код

...
<!-- Включаем опцию использования конфигурационных аннотаций (@Annotation-based configuration)-->
<context:annotation-config/>
<!-- Определяем папки, в которых будем автоматически искать бины-компоненты (@Component, @Service) -->
<context:component-scan base-package="packageName"/>
...



--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
MisterCleric
Дата 4.6.2013, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Привет.
Ну дело в том, что по-умолчанию все Spring бины есть синглетоны.
И если ты создашь какой-то бин Registry и будешь вызывать его методы addUser/removeUser/get/getAll, то все будет ОК: вот как раз тебе и сохранение состояния...
В любом месте, где такой бин тебе нужен просто используешь @Autowired и усё.


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
xoslv
Дата 4.6.2013, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



Спасибо за подсказку, попробую и отпишу о результатах, с исходником естественно, для таких же как я! smile
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
xoslv
Дата 5.6.2013, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



Всем спасибо за подсказку!
Pawl
Код

<context:component-scan base-package="packageName"/>

у меня решено через аннотации:
Код

@Configuration
@EnableWebMvc
@EnableTransactionManagement
@ComponentScan("com.sprsec")
@PropertySource("classpath:application.properties")
@ImportResource("classpath:spring-security.xml")

MisterCleric, всё так и есть! Спасибо! Один только вопрос, для каких бинов обязательна имплементация:
Код

... implements Serializable {

И нужно ли переопределять equals и hashcode, хорошая ли это практика?
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
MisterCleric
Дата 5.6.2013, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Цитата

 для каких бинов обязательна имплементация:
... implements Serializable {

Честно говоря, только для сессионных:
http://stackoverflow.com/questions/1533484...ion-scoped-bean
Цитата

И нужно ли переопределять equals и hashcode, хорошая ли это практика? 

Это полезно только для Entity:
https://community.jboss.org/wiki/EqualsAndHashCode

А в принципе не заморачивайся: придет с практикой.
Можешь еще почитать книгу: http://ruknigi.net/books/10825-java-effekt...ogrammirovanie/
Там есть глава посвященная этому


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
xoslv
Дата 5.6.2013, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



Спасибо, разобрался!
Думаю нет смысла постить код, если кому надо, пишите в личку!
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1112 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.