| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > JSF + Spring |
| Автор: Bandit 1.10.2009, 17:19 | ||
| Доброго времени суток форумчанам. Использую связку JSF + Spring. Наткнулся на проблему(может это вовсе не проблема). Проблема: Есть 2е страницы(на самом деле их намного больше). Page1, Page2 Для каждой из них свой бин обработчик. Bean1, Bean2 находятся в scoup=session Когда на странице Page1 обрабатывается форма и должен происходить переход на Page2(где отображается результат запроса). Вопросы: 1. Можно ли указать для бинов инициализирующие методы? (Знаю что в Spring можно указать init method, но прописаны они у меня в faces-config.xml) 2. Можно ли из метода первого бина проинициализировать второй бин указаный в faces-config.xml и имеющий связь:
с бином commonService описаном в applicationContext.xml спринга? Т.е. заставить Spring или JSF простроить бин по указаным правилам. |
| Автор: MisterCleric 2.10.2009, 10:02 | ||
| Привет. Вообще смотри: для связки JSF+Spring достаточно выполнить такие действия: 1. Все бины описываешь в spring-контексте и там же их зависимости, т.е. dependency injection 2. В faces-config.xml досточно прописать так:
и все spring-бины автоматически станут jsf-бинами. Это пример из моего уже давно сданного в эксплуатацию проекта |
| Автор: Bandit 2.10.2009, 12:07 | ||||||||||
>> Ничего не понял. Бину1 дать ссылку на бин1 имеется ввиду? Плохо выразился Просто если бин2 еще не создан, а я его пытаюсь создать способом аля:
то bean2.selectValuesFromDataBase(); в котором юзается бин3 выборки из базы оказывается не проинициализированным Spring-ом. т.е. приблизительно такая зависимость устанавливаемых свойств
|
| Автор: powerOn 2.10.2009, 12:25 | ||
Инициализация бина - это ответственность самого бина и контейнера (JSF, Spring). Руками её делать не есть гуд.
Это нарушение принципов IoC. |
| Автор: Bandit 2.10.2009, 13:45 |
Запомним и уесним |