powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Мои Университеты: Spring configuration
5 сообщений из 5, страница 1 из 1
Мои Университеты: Spring configuration
    #38231775
kadet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добыл книжку "Spring in Action" (third edition) Covers Spring 3.0.

Начал его изучать. Прочитал еще не все, но возникли вопросы к файлу конфигурации. Мне непонятно следующее.

Создаем элементарный java bean, который имеет конструктор с набором аргументов для инициализации внутренних переменных.

В книжке написано, что в файле конфигурации нужно (можно) объявить элемент
Код: xml
1.
2.
3.
	<bean id="duke" class="com.springinaction.springidol.Juggler" >
		<constructor-arg value="15" />
	</bean>


создание объекта:
Код: java
1.
Performer performer = (Performer) ctx.getBean("duke");



после исполнения этой строчки, будет создан новый объект performer и инициализирован значением 15.

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

конечно надо книжку до конца прочитать, но вопрос сейчас возник. хотелось бы его не откладывать в "долгий ящик".

спасибо
...
Рейтинг: 0 / 0
Мои Университеты: Spring configuration
    #38231783
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kadetсоздание объекта:
Код: java
1.
Performer performer = (Performer) ctx.getBean("duke");



Это не совсем создание. Это получение их контекста. По-умолчанию у бинов scope=singleton. Повторный вызов этого метода вернет тот же самый объект. Можно так же указать чтобы объект создавался во время инициализации контекста, а не когда он первый раз нужен.

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

Вопрос слишком общий. Вариантов масса. Например параметр конструктора может быть ссылка на свойтсво другого бина. Хотя это используется очень редко. Сложно ответить сходу про решение, не понимая для чего оно нужно.
Например если это конфигурация, то используется один поход. Если это web - другой. И все они, грубо говоря, инстанциируют бины в рантайме с неким не фиксированым параметром.
...
Рейтинг: 0 / 0
Мои Университеты: Spring configuration
    #38231825
kadet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczВопрос слишком общий. Вариантов масса. Например параметр конструктора может быть ссылка на свойтсво другого бина. Хотя это используется очень редко. Сложно ответить сходу про решение, не понимая для чего оно нужно.
Например если это конфигурация, то используется один поход. Если это web - другой. И все они, грубо говоря, инстанциируют бины в рантайме с неким не фиксированым параметром.

Дело в том, что по опыту я предпочитаю создавать элементарные объекты максимально избегая где можно set-методы для инициализации внутренних переменных. Я использую для этих целей конструктор. Исходя из этой логики я вижу ограничения со стороны Spring, который принуждает делать совершенно противоположное и плодить ненужные set-методы.

Как я понял Spring можно использовать и простых "настольных" приложениях. Именно поэтому и возник вопрос, как получить контекст объекта, который инициализирован через конструктор переменными, известными на момент исполнения? Самый простой пример - происходит событие, по которому например требуем контекст объекта инициализированного данными, прочитанными из БД (Hibernet исключаем и работаем только с JDBC для общего образования).
...
Рейтинг: 0 / 0
Мои Университеты: Spring configuration
    #38231828
kadet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczИ все они, грубо говоря, инстанциируют бины в рантайме с неким не фиксированым параметром .

вот про это хотелось бы по подробнее.

спасибо
...
Рейтинг: 0 / 0
Мои Университеты: Spring configuration
    #38232068
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kadet,
- напиши скелет кода без спринга. Сразу будет видно с бинами на спринге
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Мои Университеты: Spring configuration
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]