Когда делает Spring, создают объекты-экземпляры, которые введены

Spring делает DI и создает объекты так, чтобы для Вашей программы было нужно не беспокойство создания объектов. Но вопрос здесь состоит в том, когда экземпляр введенного объекта создается. Это, когда основная программа использует экземпляр или в то время, когда экземпляр основной программы создается.

8
задан skaffman 18 January 2010 в 08:16
поделиться

3 ответа

Как развернуть приложение Java EE на amazon-EC2

Вы по-прежнему развертываете его на сервере приложений, чтобы он не отличался. Если у вас есть более конкретные вопросы, пожалуйста, уточните. Но посмотрите на Запуск приложений JEE на Amazon EC2 и Как развернуть веб-приложение Java на экземпляре ec2 .

Сохранение изменений метаданных сервера приложений (развертывание новых приложений) после перезагрузки экземпляра (вероятно, с использованием amazon-ebs)

Если вы используете Amazon EBS, то вам не нужно беспокоиться, Тома Amazon EBS находятся вне места хранения, которое сохраняется независимо от срока службы экземпляра .

-121--2217700-

Существуют различные интерпретации термина «свободный интерфейс». Обычным способом создания одного в C++ является цепочка методов, которая обычно используется, например, в библиотеке iostream:

Object.MethodA().MethodB();
cout << "a = " << a;

Именованный параметр Idiom является еще одним хорошим примером свободного интерфейса:

Window w = CreateWindow()
               .Width(400)
               .Height(300)
               .OnTop();

Преимущества? Код, который лучше читаем и более гибким, хотя это все еще зависит от реализации курса.

-121--2643495-

Все бобы в контексте создаются, вводятся и инициализируются при запуске контекста. К моменту извлечения первого компонента из контекста все компоненты готовы к использованию.

Есть две вещи, которые могут предотвратить инициализацию компонента при запуске контекста:

  • Компонент сконфигурирован с другой областью (например, prototype , request или session ), используя атрибут scope = «xyz»
  • Компонент был помечен как lazy-init = «true» , в этом случае он будет только
13
ответ дан 5 December 2019 в 08:24
поделиться

Если вы хотите перехватить это исключение, следует поместить

try:
    result = client.service.AbsoluteMove(token, dest, speed)
except suds.WebFault as detail:
    ...
-121--2457448-

Возможно, Type.GetElityType () - это то, что вам нужно.

-121--1243577-

В комментарии OP пишет:

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

Да, решение должен принять программист (или системный интегратор).

На самом деле нет правил «наилучшей практики» для принятия решений. Подумайте об этом так:

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

  • Если вы объявите компонент инициализированным, когда он не всегда необходим, вы сделаете процесс запуска более медленным и сможете использовать больше памяти. В худшем случае создание ненужного компонента может даже привести к сбою при запуске.

Короче говоря, вам нужно понять свое приложение.

5
ответ дан 5 December 2019 в 08:24
поделиться

Все компоненты в контексте создаются, вводятся и инициализируются при запуске контекста. К моменту извлечения первого компонента из контекста все компоненты готовы к использованию.

Есть две вещи, которые могут предотвратить инициализацию компонента при запуске контекста:

  • Компонент сконфигурирован с другой областью (например, prototype , request или session ), используя атрибут scope = «xyz»
  • Компонент был помечен как lazy-init = «true» , в этом случае он будет только
-121--3572500-

http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-lazy-init

По умолчанию реализации StartContext охотно создают и настраивают все однокомпонентные компоненты как часть процесса инициализации. Обычно это предварительное создание экземпляра желательно, поскольку ошибки в конфигурации или окружающей среде обнаруживаются немедленно, в отличие от часов или даже дней спустя. Если такое поведение нежелательно, можно предотвратить прединститутизацию одиночного компонента, пометив определение компонента как «лениво-инициализированный». Компонент с ленивой инициализацией сообщает контейнеру IoC о необходимости создания экземпляра компонента при первом запросе, а не при запуске.

2
ответ дан 5 December 2019 в 08:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: