..
În secţiunile anterioare am văzut cum să configuraţi containerului IOC folosind metadatele în format XML.
Configuraţia implicită prin Adnotarea Java nu este activat, permite aceasta trebuie să introduceţi nell'applicationContext. <context:annotation-config/> Etichetă XML.
Să vedem cum se utilizează pentru a configura @ Autowired dependenţele.
public class {AutowiredBean1
Privare de ServiceAW1 service1;
Privare de ServiceAW2 Service2;
@ Autowired
AutowiredBean1 publice (ServiceAW1 service1, ServiceAW2 Service2) {
super ();
this.service1 = service1;
this.service2 = Service2;
}
/ **
* Logica de afaceri ..........
* /
}
şi 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"/>
public class {AutowiredBean2
@ Autowired
Privare de ServiceAW1 service1;
Privare de ServiceAW2 Service2;
publice ServiceAW1 getService1 () {
service1 de returnare;
}
publice ServiceAW2 getService2 () {
Service2 de returnare;
}
void setService1 publice (ServiceAW1 service1) {
this.service1 = service1;
}
@ Autowired
void setService2 publice (ServiceAW2 Service2) {
this.service2 = Service2;
}
/ **
* Logica de afaceri ..........
* /
}
şi nell'applicationContext. XML
<bean id="autowiredBean2" class="it.mrwebmaster.di.autowired.AutowiredBean2"/>Impreuna cu @ Autowired aveţi posibilitatea să utilizaţi @ Calificare specfic la id-ul de fasole pe care doriţi să injectaţi, de exemplu, în cazul în care există două fasole, care sunt din aceeaşi clasă, aşa că, dacă există ambiguităţi posibile.
@ Autowired
@ Calificator ("serviceAW1")
Privare de ServiceAW1 service1;
sau
@ Autowired
AutowiredBean4 publice (@ Qualifier ("serviceAW1") ServiceAW1 service1, ServiceAW2 Service2) {
.....
O altă caracteristică foarte utilă, care ne oferă de primăvară este acces simplificat la resursele (care poate fi la fel de variate ca fişiere sau URL-uri). Această facilitate este implementată prin utilizarea a interfeţei şi a resurselor sale implementari.
Interfaţa extinde InputStreamSource Resurse adăugarea de alte caracteristici. Implementari principale ale acestei interfeţe sunt:
Prin exemplul următor vom vedea cum Resurse instaziare şi injectaţi în fasole nostru:
public class {ResourceBean
privat de resurse de resurse;
setResource public void (resursă de resurse) {
this.resource = resurselor;
}
getResource resurse publice () {
întoarcere de resurse;
}
}
nell'applicationContext. xml
<bean id="resourceBean" class="it.mrwebmaster.resources.ResourceBean"> <property name="resource" value="classpath:resource"> </ proprietate> </ Bean>
În exemplul de care nu definesc tipul de resursă care va fi instantiata, ea instanţiază de primăvară, dar este necesar. Există trei tipuri de resurse şir, se bazează pe Queli instaziata Resurse:
| |
Curs Linux
Ghid complet pentru open-source de sistem. Incepand de la 49 €. |
| |
Curs PHP
Cursul completa pentru crearea de site-uri Web dinamice. Incepand de la 49 €. |
| |
Curs Ruby şi Ruby on Rails
Crearea de aplicatii software si web cu Ruby şi RoR. Incepand de la 39 €. |