![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
anti_snayper |
|
||||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 13.2.2007 Репутация: нет Всего: нет |
Добрый день.
Решил изучить spring и попробовать сделать небольшое тестовое приложение. Есть 2 сервиса, которые содержат друг друга и которые мне надо вытянуть из контекста спринга. AuditoriumServiceImpl.java:
BuildingServiceImpl.java
spring-context.xml
При вызове
выдает следующее исключение:
В нете читал что данный эксепшен возникает из-за циклической зависимости бинов, созданных через конструкторы. Я же использую сеттеры. возможно я что-то недопонял, с английским у меня не ахти... Заранее спасибо. |
||||||||||
|
|||||||||||
DKroshkin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 28.9.2007 Репутация: нет Всего: нет |
А зачем тебе зависимость одного бина от другого? buildingService от auditoriumService и наоборот
Как вариант сделать бины независимыми, и в каждом сделать реализацию ApplicationContextAware интерфейса, чтобы в любой момент можно было вытащить другой бин из контейнера. |
|||
|
||||
anti_snayper |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 13.2.2007 Репутация: нет Всего: нет |
Надо будет попробовать...
Но все-таки почему эксепшен вылетает интересно. По идее, спринг должен создать пустые модели и потом просетать в них ссылки друг на друга. |
|||
|
||||
DKroshkin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 28.9.2007 Репутация: нет Всего: нет |
Вроде при инициализации контейнера, если не стоит lazy-init, и бины объявлены не как синглтоны, то спринг создает бины:
либо через конструктор, либо через сеттеры (возможно что можно сделать и симбиоз). Вот здесь то и происходит рекурсия. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |