Где Spring контейнер будет создавать все объекты во время выполнения - PullRequest
0 голосов
/ 26 сентября 2019

В документации Spring говорится, что контейнер Spring IOC управляет всем жизненным циклом бобов.

Мой вопрос: где контейнер Spring создаст новый объект?в JVM или где?Также, как будут поддерживаться ссылки на объекты.

Также под вопросами,

  1. Для автономного приложения, в котором будут созданы эти компоненты?
  2. Для WebApplication, где эти компоненты будутбыть созданным?

Я изучил основные документы Spring, но не нашел четкого представления о том, как поддерживаются ссылки на объекты.

1 Ответ

2 голосов
/ 26 сентября 2019

Поскольку приложение Spring Boot запускается в JVM, там также создаются объекты.

Spring сохраняет ссылки на bean-компоненты в контексте приложения.Существует несколько конкретных реализаций интерфейса ApplicationContext (в зависимости от типа приложения), но в итоге все сводится к группе HashMaps, которые содержат экземпляры bean-компонентов или информацию о том, как их создавать, типы bean-компонентов и т. Д.Наиболее важным классом, если вас интересуют подробности реализации, является IMO org.springframework.beans.factory.support.DefaultListableBeanFactory .Это используется всеми реализациями контекста приложения для регистрации bean-компонентов, их разрешения и т. Д.

...