2016-09-19 2 views
0

Как spring.xml обрабатывает bean-компонент, объявленный в нем без каких-либо значений инициализации. т.е. нет свойств для bean-компонентов в spring.xml для этого конкретного идентификатора компонента.Spring xml related

1) Сможете ли пружинный контейнер создать боб?

2) Если у меня есть 2 боба (id = beanA и beanB), объявленные в spring.xml без каких-либо инициализирующих значений для одного компонента, можно ли было бы добавить beanB в beanA. Что эквивалентно spring.xml или аннотации для того же самого.

+0

Весна делает много волшебства, но если вы не задаете свойства, они просто остаются теми же, что и инициализирует их конструктор класса (не инициализируется далее). И как вы добавляете beanB в beanA без указания какого-либо свойства в beanA? –

ответ

0
  1. Пока доступен конструктор по умолчанию (или тот, который определен без каких-либо параметров), возможно создание компонента. (см. Java default constructor)

  2. Конечно, вы можете вводить их программно в свой код. Определите beans, как вы обычно делаете в xml. Получите их из контекста и установите их. Но зачем вам это делать, когда вы можете сделать это в своей конфигурации XML. Или вы можете сделать это в конфигурации Java DSL.

0

1) Будет ли весна контейнер быть в состоянии создать боб?

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

2) Если у меня есть 2 фасоль (ID = beanA и beanB), объявленная в spring.xml без каких-либо инициализации значений либо боб, было бы можно впрыснуть сказать beanB в beanA. Что эквивалентно spring.xml или аннотации для того же самого.

С помощью XML вы можете вводить beanB в beanA с помощью <property name=xyz ref=beanBID> предполагая хуг это имя поля в beanA, который относится к beanB и beanBId относятся к beanB в XML. Использование аннотации - это @ @ Resource/@ Autowired/@ Inject/etc ``