Порядок инициализации Spring XML

Может кто-нибудь объяснить порядок инициализации для bean-компонентов в конфигурационном файле Spring xml? В определенных обстоятельствах это зависит от порядка, но я не смог найти никаких документов, подтверждающих это. При использовании одного файла конфигурации порядок бинов выглядит независимым. Однако, если переопределить bean-компонент в родительской конфигурации, порядок может быть значительным. Мне нужно провести дополнительное тестирование, чтобы точно определить, какие обстоятельства приводят к сбою. Я использую Spring 3.0.5 и использую файл конфигурации для переопределения bean-компонентов в моем производственном коде с помощью имитированных реализаций. Бины автоматически подключаются к сервису, а для имитации нужны переопределенные объекты. Любое понимание этого будет с благодарностью.

1 ответ

Порядок иногда значительный, я могу думать об этих обстоятельствах:

  1. Компоненты, определенные позже с точно таким же именем, переопределяют компоненты, определенные ранее - поэтому, если у вас есть макеты для некоторых компонентов, просто определите их после загрузки основных компонентов приложения.
  2. BeanFactoryPostProcessors и BeanPostProcessors обрабатываются на основе их позиции определения или на основе order собственность, если присутствует.
  3. Советы АОП выполняются на основе order имущество.

Кажется, ваше условие охватывается 1-ым пунктом, но я просто указал другие для полноты, но есть и другие, которые могут добавить другие пользователи SO.

Другие вопросы по тегам