Подтвердить что ты не робот

Stateful beans и безстоящий beans в контексте Spring

Я читаю spring через свою официальную документацию, и в одном месте я пришел к строке, использующей область прототипа для всех statefull beans, в то время как singleton для stateless beans.

Я знаю, что в EJB есть что-то вроде statefull, а также без состояния beans, но это не то, что они упомянули в документах.

Может ли кто-нибудь объяснить мне, что именно это означает statefull, а также без гражданства beans в Spring

Заранее спасибо

4b9b3361

Ответ 1

С точки зрения spring

  • stateless beans: beans, которые являются singleton и инициализируются только один раз. Единственное, что у них есть, - это общее состояние. Эти beans создаются при инициализации ApplicationContext. Экземпляр SAME bean будет возвращен/введен в течение времени жизни этого ApplicationContext.

  • stateful beans: beans, который может переносить состояние (переменные экземпляра). Они создаются КАЖДОЕ время, когда требуется объект (например, использование "нового" оператора в java).

Это не EJB statfull/stateless session beans.

Ответ 2

Полезная ссылка

http://static.springsource.org/spring/docs/3.0.0.M3/reference/html/ch04s04.html

По умолчанию, если вы не укажете какую-либо область для beans, те beans будут обрабатываться как одиночные (без состояния). Создан только один bean, созданный для приложения

Если вы укажете scope = "prototype" для beans, те beans будут рассматриваться как прототип (состояние). При необходимости будет создан новый bean.