Pro Spring 4: различия между версиями
FireWolf (обсуждение | вклад) |
FireWolf (обсуждение | вклад) |
||
Строка 27: | Строка 27: | ||
== @Autowired == | == @Autowired == | ||
Если указано на setter, то происходит автоматическое связывание. | Если указано на setter, то происходит автоматическое связывание. | ||
== @Inject == | |||
В спринг аналогична автоматическому связыванию (JSR-299). | |||
== @Resource == | == @Resource == | ||
Пример - @Resource (name = "messageProvider") указывается для поддержки автоматического связывания. | Пример - @Resource (name = "messageProvider") указывается для поддержки автоматического связывания. |
Версия 08:23, 11 февраля 2017
Конфигурация XML
context:component-scan
Дескриптор <context:component-scan> сообщает Spring о необходимости сканирования кода на предмет внедряемых бинов, аннотированных с помощью @Component, @Controller, @Repository и @Service, а также поддерживающих аннотации @Autowired и @Inject в указанном пакете (и всех eгo внутренних па кетах). В дескрипторе <context:component-scan> можно определить множество пакетов, используя в качестве разделителя запятую, точку запятой или пробел. Кроме того, для более детализированного управления этот дескриптор поддерживает включение и исключение сканирования компонентов. Также можно указать пакет для сканирования через установку атрибута base-package. Еще можно указать исключения через context:exclude-filter.
bean
bean/property
name - Имя свойства бина value - значение (простой тип) До версии 2.5: ref - ссылка на другой бин по id После: конфигурировать можно не через property, а в самом bean так: p:<тут имя свойства>-ref="id другого бина"
Кофигурация аннотациями
@Service
Пример - @Service("messageRenderer") указывает, что этот бин предоставляет службы, которые могут требоваться другим бинам; в качестве параметра аннотации передается имя бина.
@Autowired
Если указано на setter, то происходит автоматическое связывание.
@Inject
В спринг аналогична автоматическому связыванию (JSR-299).
@Resource
Пример - @Resource (name = "messageProvider") указывается для поддержки автоматического связывания.