Spring Framework определяет несколько областей видимости для бинов:
Вот пример объявления бина с различной областью видимости:
java
Разница между Singleton и Prototype:
| Свойство | Singleton | Prototype |
|---|---|---|
| Количество экземпляров | Один на контейнер | Новый при каждом запросе |
| Управление жизненным циклом | Контейнером Spring | Контейнером Spring до создания, далее - пользователь |
| Состояние | Общее состояние для всех обращений | Отдельное состояние для каждого экземпляра |
Области видимости Request, Session, Application и WebSocket применимы только в контексте веб-приложений и управляются соответствующими обработчиками запросов или сессий.