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