Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / spring scope prototype vs. lazy-init / 5 сообщений из 5, страница 1 из 1
04.04.2012, 20:17:32
    #37739204
sneer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring scope prototype vs. lazy-init
В чем разница между определением scope prototype и lazy-init=true для бина. Я хочу что бы DI происходил когда делается new для обьекта. А не во время старта. Что лучше использовать.
...
Рейтинг: 0 / 0
05.04.2012, 02:01:04
    #37739466
sys_daemon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring scope prototype vs. lazy-init
Код: xml
1.
2.
Ни одного экземпляра класса MyCommand не будет создано при инициализации контекста Spring
<bean class="MyCommand" scope="prototype">


Код: java
1.
2.
// каждый раз выполнение этой строчки приводит к созданию нового экземпляра класса MyCommand 
MyCommand command = context.getBean(MyCommand .class);






Код: xml
1.
2.
Ни одного экземпляра класса MyCommand не будет создано при инициализации контекста Spring
<bean class="MyCommand" lazy-init="true">


Код: java
1.
2.
// первое выполнение этой строки приведёт к созданию нового экземпляра класса MyCommand, все последующие вызовы context.getBean вернут тот же самый объект
MyCommand command = context.getBean(MyCommand .class);






Код: xml
1.
2.
Экземпляр класса MyCommand будет создан сразу при инициализации контекста Spring
<bean class="MyCommand">


Код: java
1.
2.
// каждый раз при выполнении этой строчки кода будем получать один и тот же уже инициализированный объект MyCommand 
MyCommand command = context.getBean(MyCommand .class);



Вариация №4 prototype="true" и lazy-init="false" эквивалентна самому первому варианту то есть просто prototype="true"
...
Рейтинг: 0 / 0
05.04.2012, 22:36:33
    #37741128
sneer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring scope prototype vs. lazy-init
sys_daemon,

Огромное спасибо!
...
Рейтинг: 0 / 0
16.05.2012, 18:01:44
    #37797594
warloc69
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring scope prototype vs. lazy-init
sys_daemon,

а что будет если prototype="true" и lazy-init="true" ?
...
Рейтинг: 0 / 0
16.05.2012, 18:31:24
    #37797636
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
spring scope prototype vs. lazy-init
Это перпендикулярный понятия. lazy отвечает за то, когда именно будет создан объект. Если false - он будет создан сразу при загрузке контекста. Если false - в момент запроса бина из контекста.
scope отвечает за то, жизненный цикл объекта. singleton (значение по умолчанию) означает, что в контексте будет только один объект данного бина prototype означает, что для каждого запроса на бин будет создан свой объект.

Т.е. lazy для prototype смысла не имеет.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / spring scope prototype vs. lazy-init / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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