TGViewer
Чашечка Java Чашечка Java @a_cup_of_java · 8.36K subscribers
Post #8688 175
Чашечка Java В Spring сервис OrderService с областью singleton получает ReportBuilder с областью prototype через конструктор, без прокси. Два запроса последовательно вызывают этот сервис. Сколько экземпляров ReportBuilder он использует при этих вызовах?
Развёрнутое пояснение:

1. Spring создаёт OrderService с областью singleton: этот экземпляр сервиса будет обслуживать оба запроса.

2. Для вызова конструктора Spring разрешает зависимость ReportBuilder и создаёт её экземпляр с областью prototype.

3. OrderService сохраняет полученную зависимость; обычное внедрение через конструктор выполняется при создании сервиса.

4. Первый запрос вызывает сервис, который использует внедрённый ReportBuilder.

5. Второй запрос вызывает тот же сервис с той же зависимостью. Область prototype означает создание нового экземпляра при новом запросе зависимости у контейнера, а вызов метода сервиса такого запроса не выполняет. Поэтому сервис использует один экземпляр ReportBuilder при обоих вызовах.

Почему это важно

Задача проверяет понимание областей действия компонентов и момента разрешения зависимостей в Spring. Если ReportBuilder хранит промежуточные данные отчёта, они могут сохраняться между запросами, несмотря на область prototype. Когда нужен новый экземпляр для каждой операции, сервис может явно получать его через ObjectProvider.
More from @a_cup_of_java
  1. Oct 13, 2026Post #8687
  2. Oct 12, 2026Переход на Jackson 3 в Spring Boot 4: настройка JsonMapper и изменения JSON Spring Boot 4…
  3. Oct 12, 2026🧑‍💻 Какие навыки помогают вам в разработке в 2026 году? Что вы чаще используете в работе…
  4. Oct 12, 2026Аварийные отчёты HotSpot: чтение hs_err и удаление чувствительных данных При падении JVM о…
  5. Oct 12, 2026Развёрнутое пояснение: 1. Создаётся изменяемый список config, в который добавляется назван…
  6. Oct 12, 2026Post #8682
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 →