2015-06-03 5 views
0

У меня есть два определения bean-компонента в моем application-context.xml (BeanClassA, BeanClassB). Если BeanClassA имеет @Autowired аннотацию BeanClassB, должен ли BeanClassB быть объявлен BEFORE BeanClassA в определениях bean-компонентов в application-context.xml? В более общем случае существует неотъемлемый порядок, в котором будут загружены бобы.Порядок загрузки весенних бобов

ответ

3

№ Если у вас нет сложных круговых зависимостей, Spring сможет опубликовать все инъекции, прежде чем делать какие-либо бобы доступными для вас. Порядок объявлений в XML не важен.

+0

Спасибо за ваш ответ, Sotirios, Когда я укажу его в текущем порядке, то есть BeanClassB, объявленный AFTER BeanClassA, я спорадически вижу исключение NoSuchBeanDefinitionFoundException, может ли это быть связано с тем, как они загружаются. Я подозреваю, что иногда BeanClassA пытается загрузить без загрузки BeanClassB сначала в BeanFactory. –

+1

@ looseseal_90 Нет. У вас что-то еще происходит. Я предлагаю вам задать другой вопрос со всеми необходимыми подробностями. (Или отредактируйте это, но не привыкните полностью менять свой вопрос.) –

+0

Постараюсь дать более подробный обзор проблемы в новом вопросе. Ошибка, которую я иногда вижу, заключается в том, что автозапуск BeanClassB не прошел с использованием исключения NoSuchBeanDefinitionException, это работает большую часть времени, но не все. Вот почему я думал, что это может быть связано с загрузкой заказа. Спасибо в любом случае !! –

Смежные вопросы