![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
AJetman |
|
||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 16.8.2009 Репутация: 2 Всего: 2 |
Являюсь новичком в Java и J2EE, раньше имел дело с только PHP.
Создаю сайт на базе Apache Wicket и решил разобраться с Spring и IoC. В Wicket уже имеется интеграция с Spring, поэтому с этим вопросов нет. Интересует следующее: 1. У меня есть сервис UserDao, реализующий работу с базой данных (через JpaDaoSupport Spring'a). Он объявлен как Bean в файле настроек applicationContext.xml. 2. Для вывода списка пользователей на экран в Wicket предусмотрен компонент DataView. Для DataView необходимо объявить класс, реализующий интерфейс IDataProvider (т.е. DataView генерирует список на основе данных от IDataProvider). Это тоже имеется - назвал UserDataProvider, который обращается к UserDao за необходимой информацией.
В Wicket'e используется так:
3. В файле настроек applicationContext.xml добавил след. строки, чтобы Spring анализировал мой код на аннотации:
При создании нового экземляра UserDataProvider поле userDao не инициализируется Spring'ом. Пока нашел решение, что в Wicket можно в конструкторе UserDataProvider написать так:
Но это, как понимаю, не совсем верное решение... Вопросы: 1. Аннотации Spring работают только для его Bean'ов? 2. Что мне делать с UserDataProvider, чтобы использовать IUserDao без этого инъектора? Возможно, я просто не до конца понял принцип IoC и Spring - поясните, пожалуйста. |
||||||||
|
|||||||||
AJetman |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 16.8.2009 Репутация: 2 Всего: 2 |
Видимо это больше вопрос для Springвцев, т.к. как я понял Autowired нельзя применять для свойств обычных классов, а только для Bean'ов, так?
|
|||
|
||||
MisterCleric |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Можно, если ты его пометишь как @Configurable и объявишь в конфиге как:
и добавишь
Смысл типа заключается в чем: Spring создает динамический прокси для твоего класса и каждый раз при вызове конструктора твоего класса возвращается тебе проинджекшеный прокси. Почитай, попробуй... -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |