
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.04.2013, 23:00:22
|
|||
|---|---|---|---|
Мои Университеты: Spring configuration |
|||
|
#18+
Добыл книжку "Spring in Action" (third edition) Covers Spring 3.0. Начал его изучать. Прочитал еще не все, но возникли вопросы к файлу конфигурации. Мне непонятно следующее. Создаем элементарный java bean, который имеет конструктор с набором аргументов для инициализации внутренних переменных. В книжке написано, что в файле конфигурации нужно (можно) объявить элемент Код: xml 1. 2. 3. создание объекта: Код: java 1. после исполнения этой строчки, будет создан новый объект performer и инициализирован значением 15. А как быть в том случае, когда мне надо например по какому-то событию создать объект и инициализировать его только через конструктор значением, которое будет известно на момент исполнения ? конечно надо книжку до конца прочитать, но вопрос сейчас возник. хотелось бы его не откладывать в "долгий ящик". спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.04.2013, 23:10:04
|
|||
|---|---|---|---|
|
|||
Мои Университеты: Spring configuration |
|||
|
#18+
kadetсоздание объекта: Код: java 1. Это не совсем создание. Это получение их контекста. По-умолчанию у бинов scope=singleton. Повторный вызов этого метода вернет тот же самый объект. Можно так же указать чтобы объект создавался во время инициализации контекста, а не когда он первый раз нужен. kadetА как быть в том случае, когда мне надо например по какому-то событию создать объект и инициализировать его только через конструктор значением, которое будет известно на момент исполнения ? Вопрос слишком общий. Вариантов масса. Например параметр конструктора может быть ссылка на свойтсво другого бина. Хотя это используется очень редко. Сложно ответить сходу про решение, не понимая для чего оно нужно. Например если это конфигурация, то используется один поход. Если это web - другой. И все они, грубо говоря, инстанциируют бины в рантайме с неким не фиксированым параметром. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.04.2013, 23:46:25
|
|||
|---|---|---|---|
Мои Университеты: Spring configuration |
|||
|
#18+
BlazkowiczВопрос слишком общий. Вариантов масса. Например параметр конструктора может быть ссылка на свойтсво другого бина. Хотя это используется очень редко. Сложно ответить сходу про решение, не понимая для чего оно нужно. Например если это конфигурация, то используется один поход. Если это web - другой. И все они, грубо говоря, инстанциируют бины в рантайме с неким не фиксированым параметром. Дело в том, что по опыту я предпочитаю создавать элементарные объекты максимально избегая где можно set-методы для инициализации внутренних переменных. Я использую для этих целей конструктор. Исходя из этой логики я вижу ограничения со стороны Spring, который принуждает делать совершенно противоположное и плодить ненужные set-методы. Как я понял Spring можно использовать и простых "настольных" приложениях. Именно поэтому и возник вопрос, как получить контекст объекта, который инициализирован через конструктор переменными, известными на момент исполнения? Самый простой пример - происходит событие, по которому например требуем контекст объекта инициализированного данными, прочитанными из БД (Hibernet исключаем и работаем только с JDBC для общего образования). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.04.2013, 23:48:16
|
|||
|---|---|---|---|
Мои Университеты: Spring configuration |
|||
|
#18+
BlazkowiczИ все они, грубо говоря, инстанциируют бины в рантайме с неким не фиксированым параметром . вот про это хотелось бы по подробнее. спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2129515]: |
0ms |
get settings: |
13ms |
get forum list: |
25ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
55ms |
get topic data: |
19ms |
get forum data: |
5ms |
get page messages: |
78ms |
get tp. blocked users: |
3ms |
| others: | 299ms |
| total: | 509ms |

| 0 / 0 |
