TGViewer
Java | Вопросы собесов Java | Вопросы собесов @easy_java_ru · 11.3K subscribers
Post #218 6.15K
Что такое SpringScope ?
Спросят с вероятностью 12%

"Scope" (область видимости) относится к жизненному циклу и видимости бинов (объектов, управляемых Spring IoC контейнером). Область видимости бина определяет, как и когда создаются и уничтожаются экземпляры бинов, а также как они разделяются между другими объектами и компонентами приложения.

Spring предоставляет несколько встроенных областей видимости:

1️⃣ Singleton (Одиночка)

Это область видимости по умолчанию. Для бина, объявленного с областью видимости Singleton, Spring IoC контейнер создает и хранит ровно один экземпляр бина на каждый контейнер. Этот единственный экземпляр предоставляется всем, кто запрашивает бин с таким именем.

2️⃣ Prototype (Прототип)

Для бина с областью видимости Prototype, Spring IoC контейнер создает новый экземпляр бина каждый раз, когда он запрашивается. Это полезно, когда вам нужны независимые экземпляры объекта для каждого использования.

3️⃣ Request

Эта область видимости используется в веб-приложениях. Для бина, объявленного с областью видимости Request, новый экземпляр создается для каждого HTTP запроса.

4️⃣ Session

Также используется в веб-приложениях. Бин с областью видимости Session создает один экземпляр бина на каждую HTTP сессию.

5️⃣ Application

В этой области видимости бин создается на уровне ServletContext, что означает, что бин существует в единственном экземпляре на весь жизненный цикл веб-приложения, аналогично Singleton, но в области видимости всего приложения, а не Spring IoC контейнера.

6️⃣ WebSocket

Эта область видимости применяется к бинам, которые должны быть привязаны к жизненному циклу WebSocket сессии.

Пример:
@Component
@Scope("prototype")
public class MyPrototypeBean {
// Класс с областью видимости Prototype
}


Понимание и правильное использование областей видимости позволяет тонко управлять жизненным циклом компонентов приложения, оптимизируя использование ресурсов и поддерживая необходимую степень изоляции и независимости между компонентами. Это способствует созданию чистой, модульной и легко тестируемой архитектуры приложения.

👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1715 вопроса на Java разработчика. Ставь 👍 если нравится контент

🔐 База собесов | 🔐 База тестовых
  • 👍 25
  • 🔥 8
  • ❤ 4
  • 🤯 1
More from @easy_java_ru
  1. Oct 12, 2026🤔 Жизненный цикл сервлетов? 1. Загрузка и инициализация (init); 2. Обработка запроса (ser…
  2. Oct 12, 2026🤔 Как остановить поток? Остановить поток в Java можно несколькими способами, но важно пом…
  3. Oct 11, 2026🤔 Какой класс позволяет читать данные из входного байтового потока в формате примитивных…
  4. Oct 11, 2026🤔 Чем отличается where от having ? WHERE и HAVING используются для фильтрации записей, но…
  5. Oct 10, 2026🤔 На основании какой структуры данных реализован ArrayList? ArrayList реализован на базе…
  6. Oct 9, 2026🤔 Что такое «HTML»? HTML (HyperText Markup Language) — это язык разметки, используемый дл…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →