Как JVM и spring container работают вместе во время создания objs или beans?

#spring #spring-mvc #classloader #spring-ioc #spring-context

#spring #spring-mvc #classloader #spring-ioc #spring-context

Вопрос:

Spring container создает, Beans сначала создавая DAG, а затем создает экземпляр независимого, beans прежде чем создавать любые beans , которые зависят от других beans . Это прекрасно и понятно. Любые, beans которые зависят от обычной java objects / pojo, могут быть предоставлены механизмом JVM classloader, и это тоже нормально.

Но любой объект Java, который зависит от компонента, — это то, что заставляет меня глубже понять этот механизм чередования.

  1. в простом случае — JVM может дождаться, пока spring container завершит процесс создания своего компонента, а затем JVM может создавать любые объекты Java, которые ей нужны.

и

  1. для чередующихся компонентов и объектов Java: они оба (jvm и spring container) будут создавать компоненты и java obj чередующимся образом по мере необходимости. Я думаю об этом, потому что, когда компонент может иметь ссылку на обычный java obj и, в свою очередь, java obj может иметь компонент в качестве зависимости.

Итак, просто чтобы уточнить — создают ли Spring Container и JVM bean и obj чередующимся образом.

(Это вопрос, позволяющий понять работу Spring Container на стороне JVM, это не может быть специфичным для класса или seceniro или варианта использования, поэтому, пожалуйста, не отмечайте этот вопрос как отсутствие чего-то вроде специфики или варианта использования или чего-то еще — спасибо за понимание.)

Отредактируйте следующий комментарий @BoristheSpider:
Возьмите немного spring bean . Spring container попытается создать это bean . Теперь, скажем, это bean зависит от pojo . Итак, как это pojo создается. Создается ли он Spring Container напрямую или путем делегирования его соответствующему загрузчику классов JVM (bootstrap или ext или application). Я думаю, что он делегирует его соответствующему загрузчику классов JVM. кто-нибудь может прояснить это.
ДАЛЕЕ — когда JVM должна создать, pojo который зависит от bean того, как он узнает о компоненте. Таким образом, JVM и Spring Container должны заботиться об одном и другом. Я пытаюсь понять, как они работают рука об руку.

Комментарии:

1. Я не понимаю вопроса. JVM не заботится о Spring и не нуждается в этом. Заботится ли ваш браузер о том, что вы планируете посетить Stackoverflow при первом его открытии? Конечно, нет — это разные слои .

2. Вы получите гораздо более продуктивные ответы, если приведете конкретный пример, который вас смущает!

3. JVM не имеет ничего общего с Spring, вообще. Единственная связь, о которой вы можете подумать, заключается в том, что Spring написан поверх спецификаций JavaSE и JavaEE, а приложения Java выполняются внутри JVM, вот и все; однако это никоим образом не определяет какую-либо связь JVM и Spring при создании beans. Bean — это просто объект, управляемый Spring container. Когда вы покупаете автомобиль, производителю автомобиля все равно, куда вы на нем ездите.

4. Это очень хороший вопрос, который я действительно понимаю. через 2 года ответа нет? хм :/