TGViewer
Библиотека собеса по Java | вопросы с собеседований Библиотека собеса по Java | вопросы с собеседований @java_interview_lib · 6.44K subscribers
Post #1176 2.41K
Почему Spring по умолчанию создает бины как singleton?



На самом деле это исторический баг! Изначально Spring создавал новый бин для каждого запроса, но один из разработчиков забыл добавить new в цикле, и все бины стали синглтонами. Теперь это называют фичей для совместимости с легаси-кодом! 🎅

Праздничный факт: Если добавить @Scope("christmas"), Spring будет создавать новый бин только 31 декабря! Идеально для сезонных акций! 🎄

✔️

Почему singleton — это дефолт:

→ Производительность: создание объекта — дорогая операция (выделение памяти, вызов конструктора, DI). Создавать бин на каждый запрос — огромные издержки.

→ Управление системными ресурсами: многие бины инкапсулируют ресурсы операционной системы или сети, которые дорого создавать и должны быть общими.

→ Естественная модель для stateless компонентов: 90%+ бизнес-логики в Spring — stateless операции. Создавать новый объект для каждого вызова бессмысленно.

→ Экономия ресурсов: один EntityManager, один RestTemplate, один connection pool

→ Кэширование: бин может безопасно кэшировать данные (если они read-only)

→ Простота жизненного цикла: @PostConstruct выполнится один раз

🐸 Библиотека собеса по Java

@spring
  • 😁 9
  • 👍 6
  • ❤ 1
  • 🔥 1
More from @java_interview_lib
  1. Sep 15, 2026❓ Расскажите о паттерне Facade Facade — это структурный паттерн, который предоставляет про…
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Aug 5, 2026❓ Что такое "diamond problem" и как его решает Java? «Diamond problem» возникает при множе…
  4. Aug 5, 2026👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах…
  5. Aug 5, 2026Один доступ вместо вечного выбора между «нужно для работы» и «давно хотелось изучить» 👇
  6. Jul 31, 2026❓ Как работает ConcurrentHashMap? ConcurrentHashMap использует сегментирование / распростр…
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 →