..
В предыдущих разделах мы посмотрели, как настраивать контейнер IoC с использованием метаданных в формате XML.
Конфигурации по умолчанию через аннотации Java не включена, чтобы вы могли войти nell'applicationContext. <context:annotation-config/> XML-тегов.
Давайте посмотрим, как использовать @ Autowired для настройки зависимостей.
{Общественного класса AutowiredBean1
Частные ServiceAW1 service1;
Частные ServiceAW2 Service2;
@ Autowired
общественных AutowiredBean1 (ServiceAW1 service1, ServiceAW2 Service2) {
супер ();
this.service1 = Service1;
this.service2 = Service2;
}
/ **
* Бизнес-логика ..........
* /
}
и nell'applicationContext. XML
<context:annotation-config/> <bean id="serviceAW1" class="it.mrwebmaster.di.autowired.ServiceAW1Impl"/> <bean id="serviceAW2" class="it.mrwebmaster.di.autowired.ServiceAW2Impl"/> <bean id="autowiredBean1" class="it.mrwebmaster.di.autowired.AutowiredBean1"/>
{Общественного класса AutowiredBean2
@ Autowired
Частные ServiceAW1 service1;
Частные ServiceAW2 Service2;
общественных ServiceAW1 getService1 () {
service1 возвращения;
}
общественных ServiceAW2 getService2 () {
Service2 возвращения;
}
общественного недействительными setService1 (ServiceAW1 service1) {
this.service1 = Service1;
}
@ Autowired
общественного недействительными setService2 (ServiceAW2 Service2) {
this.service2 = Service2;
}
/ **
* Бизнес-логика ..........
* /
}
и nell'applicationContext. XML
<bean id="autowiredBean2" class="it.mrwebmaster.di.autowired.AutowiredBean2"/>Наряду с вы можете использовать @ @ Autowired Qualifier specfic на идентификатор компонента вы хотите внедрить, например, если Есть два бобы, которые имеют тот же класс, так что если есть неоднозначность.
@ Autowired
@ Qualifier ("serviceAW1")
Частные ServiceAW1 service1;
или
@ Autowired
общественных AutowiredBean4 (@ Qualifier ("serviceAW1") ServiceAW1 service1, ServiceAW2 Service2) {
.....
Другая очень полезная функция, что весна дает нам легкий доступ к ресурсам (что может быть столь же разнообразны, как файлы или URL). Эта возможность реализована за счет использования интерфейса и его реализации ресурсов.
Интерфейс ресурса расширяет InputStreamSource добавив другие возможности. Основной реализаций этого интерфейса являются:
Через следующем примере мы увидим, как instaziare ресурсов и внедрить в наши бобы:
{Общественного класса ResourceBean
личный источник ресурсов;
общественных setResource недействительными (Ресурс ресурс) {
this.resource = ресурсами;
}
общественных getResource ресурсов () {
возвращение ресурсов;
}
}
nell'applicationContext. XML
<bean id="resourceBean" class="it.mrwebmaster.resources.ResourceBean"> <property name="resource" value="classpath:resource"> </ недвижимость> </ Бин>
В примере, вы не определили тип ресурса, который будет создан, он создает экземпляр весна, но это необходимо. Есть три типа строк ресурсов, базируется на Queli instaziata ресурса:
| |
Linux (курс)
Полное руководство по открытым исходным кодом системы. От 49 €. |
| |
PHP (курс)
Полный курс для создания динамических веб-сайтов. От 49 €. |
| |
Руби и Ruby On Rails (курс)
Создание программного обеспечения и веб-приложений с Рубином и RoR. С 39 €. |