..
I forrige afsnit så vi, hvordan du konfigurerer IOC container ved hjælp af metadata i XML-format.
Standardkonfigurationen gennem Java Annotation ikke er aktiveret, så du kan indtaste nell'applicationContext. <context:annotation-config/> XML-kode.
Lad os se, hvordan du bruger @ Autowired at konfigurere afhængigheder.
{Public class AutowiredBean1
Privat ServiceAW1 Service1;
Privat ServiceAW2 Service2;
@ Autowired
offentlige AutowiredBean1 (ServiceAW1 Service1, ServiceAW2 Service2) {
super ();
this.service1 = Service1;
this.service2 = Service2;
}
/ **
* Forretningslogik ..........
* /
}
og 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
Privat ServiceAW1 Service1;
Privat ServiceAW2 Service2;
offentlige ServiceAW1 getService1 () {
Service1 vende tilbage;
}
offentlige ServiceAW2 getService2 () {
Service2 vende tilbage;
}
public void setService1 (ServiceAW1 Service1) {
this.service1 = Service1;
}
@ Autowired
public void setService2 (ServiceAW2 Service2) {
this.service2 = Service2;
}
/ **
* Forretningslogik ..........
* /
}
og nell'applicationContext. xml
<bean id="autowiredBean2" class="it.mrwebmaster.di.autowired.AutowiredBean2"/>Sammen med dig kan bruge @ @ Autowired Qualifier specfic til id af de bønner, du ønsker at injicere, for eksempel, hvis der er to bønner, der er af samme klasse, så hvis der er tvetydighed.
@ Autowired
@ Qualifier ("serviceAW1")
Privat ServiceAW1 Service1;
eller
@ Autowired
offentlige AutowiredBean4 (@ Qualifier ("serviceAW1") ServiceAW1 Service1, ServiceAW2 Service2) {
.....
En anden meget nyttig funktion, at foråret giver os nem adgang til ressourcer er det (som kan være lige så forskellige som filer eller URL'er). Denne funktion er implementeret ved hjælp af brugerfladen og dens implementeringer Resource.
Interfacet Resource udvider InputStreamSource at tilføje andre funktioner. De vigtigste implementeringer af dette interface er:
Gennem det følgende eksempel vil vi se, hvordan instaziare Ressourcer og tilføre vores bønner:
{Public class ResourceBean
private Resource ressource;
public void setResource (Resource ressource) {
this.resource = ressource;
}
offentlig ressource getResource () {
tilbage ressource;
}
}
nell'applicationContext. xml
<bean id="resourceBean" class="it.mrwebmaster.resources.ResourceBean"> <property name="resource" value="classpath:resource"> </ Ejendom> </ Bean>
I eksemplet du ikke definere den type ressource, der vil blive instantieret, er det instantierer i foråret, men det er hensigtsmæssigt. Der er tre typer af strengen Resource, er baseret på Queli instaziata Resource:
| |
Linux (Kursus)
Komplet guide til open source-system. Fra 49 €. |
| |
PHP (Kursus)
Fuld kursus for at skabe dynamiske web-sites. Fra 49 €. |
| |
Ruby og Ruby on Rails (Kursus)
Opret software og web-applikationer med Ruby og RoR. Fra 39 €. |