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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> spring как получать бины, как обратиться к бину, описанному в конф 
V
    Опции темы
iluvatar
Дата 2.9.2010, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот пытаюсь разобраться со спрингом, как и для чего его лучше использовать.
Уперся в стену непонимания и не могу ее побороть. Вопрос настолько туп, что мне даже стыдно спрашивать:

я описываю различные бины в контексте приложения, делаю им ссылки друг на друга, обворачиваю одни в другие, а как получить корневой объект?

например, я делаю вот такой конфиг:
Код

    <beans:bean id="myClassA" class="ru.me.MyClassA">
        <beans:property name="myClassB" ref="myClassB"/>
    </beans:bean>

    <beans:bean id="myClassB" class="ru.me.MyClassB" />

а как мне получить в произвольном месте моего приложение экземпляр myClassA, созданный спрингом?

Объясню шире - хочу я создать синглтон. Я привык описывать его по классике - создавать объект либо при вызове getInstance(), либо в статическом блоке этого класса и класть его в поле instance.
Теперь хочу для этого заюзать спринг. Я описываю бин, описываю какие-то вложенные бины, но как мне обратиться к этому объекту НЕ ИЗ КЛАССА созданного спрингом, а из например стратс-экшена?
т.е. если без спринга я всегда делал так:
Код

MyClassA.getInstance();

а как получить объект, созданный спрингом?

или я чего-то кардинально не понимаю в логике данного фреймворка?
PM MAIL ICQ   Вверх
Старовъръ
Дата 2.9.2010, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Логика в DI в том, что объекты не создают другие объекты, они все собираются из кубиков. В случае, когда у тебя часть приложения не на спринге, ты можешь сделать какую-то точку входа, она будет Одиночкой:
Код

public class SpringFacade {
    private static final ApplicationContext context = new ClassPathApplicationContext("context.xml");

    public static SomeBeanFromContext getSomeBean() {
         return context.getBean(SomeBean.class);
    }
}
Но я уверен, что Spring должен как-то совмещаться со Struts'ом out of box.
PM MAIL WWW   Вверх
Vasay
Дата 3.9.2010, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

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



Цитата(Старовъръ @  2.9.2010,  23:53 Найти цитируемый пост)
Но я уверен, что Spring должен как-то совмещаться со Struts'ом out of box.



Struts 2 умеет работать со Spring

На сайте есть  Tutorial (староват правда): http://struts.apache.org/2.0.14/docs/strut...2-jpa-ajax.html

Это сообщение отредактировал(а) Vasay - 3.9.2010, 00:36


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
iluvatar
Дата 6.9.2010, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

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

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


 




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


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

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