Коли ти створюєш визначення біна, то закладаєш набір правил створення фактичних екземплярів класу, визначеного цим визначенням біна. Думка про те, що визначення біна є набором правил дуже важлива, оскільки вона означає, що, як і у випадку з класом, можна створити безліч екземплярів об'єктів з одного набору правила.
Можна керувати не лише різними залежностями та конфігураційними значеннями, які потрібно підключити до об'єкта, що
створюється з конкретного визначення біну, а й контролювати область видимості об'єктів, що створюються з конкретного
визначення біна. Цей підхід має великі переваги і є гнучким, оскільки можна вибирати область видимості об'єктів, які
ти створюєш за допомогою конфігурації замість того, щоб готувати область видимості об'єкта на рівні класу Java. Біни
можна визначити для розгортання однієї з кількох областей видимості. Spring Framework підтримує шість областей
видимості, чотири з яких доступні тільки в тому випадку, якщо ти використовуєш орієнтований на використання у
вебсередовищі (web-aware) ApplicationContext
. Також можна створити спеціальну область видимості.
У наступній таблиці описані підтримувані області видимості:
Область застосування | Опис |
---|---|
об'єкт-одинак (singleton) |
(За замовчуванням) Застосовує область видимості єдиного визначення біна до єдиного екземпляра об'єкта для кожного IoC-контейнера Spring. |
прототип (prototype) |
Застосовує область видимості єдиного визначення біна для будь-якої кількості екземплярів об'єктів. |
запит (request) |
Застосовує область видимості визначення єдиного біна для життєвого циклу єдиного HTTP-запиту. Таким
чином, для кожного нового HTTP-запиту створюється новий екземпляр біна на основі єдиного визначення
біна. Діє лише в контексті орієнтованого на використання у вебсередовищі (web-aware) |
сесія (session) |
Застосовує область видимості єдиного визначення біна для життєвого циклу HTTP |
додаток (application) |
Застосовує область видимості єдиного визначення біна для життєвого циклу |
вебсокет (websocket) |
Застосовує область видимості єдиного визначення біна для життєвого циклу |
SimpleThreadScope
. Інструкції з реєстрації цієї або будь-якої іншої області
видимості див. у розділі Використання
спеціальної області видимості.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ