Pro Spring 4: различия между версиями
FireWolf (обсуждение | вклад) |
FireWolf (обсуждение | вклад) |
||
Строка 22: | Строка 22: | ||
= Кофигурация аннотациями = | = Кофигурация аннотациями = | ||
= @Service = | == @Service == | ||
Пример - @Service(" | Пример - @Service("messageRenderer") указывает, что этот бин предоставляет службы, | ||
которые могут требоваться другим бинам; в качестве параметра аннотации передается имя бина. | которые могут требоваться другим бинам; в качестве параметра аннотации передается имя бина. | ||
== @Autowired == | |||
Если указано на setter, то происходит автоматическое связывание. | |||
== @Resource == | |||
Пример - @Resource (name = "messageProvider") указывается для поддержки автоматического связывания. |
Версия 08:22, 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, то происходит автоматическое связывание.
@Resource
Пример - @Resource (name = "messageProvider") указывается для поддержки автоматического связывания.