..
I forrige avsnitt så vi hvordan du konfigurerer IOC container ved hjelp av metadata i XML-format.
Standardkonfigurasjonen gjennom Java Annotation ikke er aktivert, må du aktivere den må du oppgi nell'applicationContext. <context:annotation-config/> XML-kode.
La oss se hvordan du bruker @ Autowired å konfigurere avhengigheter.
public class {AutowiredBean1
Private ServiceAW1 Service1;
Private ServiceAW2 Service2;
@ Autowired
public AutowiredBean1 (ServiceAW1 Service1, ServiceAW2 Service2) {
super ();
this.service1 = Service1;
this.service2 = Service2;
}
/ **
* Business logikk ..........
* /
}
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
Private ServiceAW1 Service1;
Private ServiceAW2 Service2;
public ServiceAW1 getService1 () {
Service1 tilbake;
}
public ServiceAW2 getService2 () {
Service2 tilbake;
}
public void setService1 (ServiceAW1 Service1) {
this.service1 = Service1;
}
@ Autowired
public void setService2 (ServiceAW2 Service2) {
this.service2 = Service2;
}
/ **
* Business logikk ..........
* /
}
og nell'applicationContext. XML
<bean id="autowiredBean2" class="it.mrwebmaster.di.autowired.AutowiredBean2"/>Sammen med @ Autowired du kan bruke @ Qualifier specfic til id av bønne du ønsker å injisere, for eksempel hvis det er to bønner som er av samme klasse, så hvis det er mulig uklarheter.
@ Autowired
@ Qualifier ("serviceAW1")
Private ServiceAW1 Service1;
eller
@ Autowired
public AutowiredBean4 (@ Qualifier ("serviceAW1") ServiceAW1 Service1, ServiceAW2 Service2) {
.....
En annen svært nyttig funksjon som Spring gir oss er den forenklede tilgangen til ressurser (som kan være så variert som filer eller URL). Denne funksjonen er implementert gjennom bruk av grensesnittet og implementasjoner Resource.
Grensesnittet utvider Resource InputStreamSource legge andre funksjoner. De viktigste implementasjoner av dette grensesnittet er:
Gjennom følgende eksempel vil vi se hvordan instaziare Resources og injisere i våre bønner:
public class {ResourceBean
private Resource ressurs;
public void setResource (Resource ressurs) {
this.resource = ressurs;
}
public Resource getResource () {
returnere ressurs;
}
}
nell'applicationContext. xml
<bean id="resourceBean" class="it.mrwebmaster.resources.ResourceBean"> <property name="resource" value="classpath:resource"> </ eiendom> </ Bean>
I eksempelet du ikke definerer hvilken type ressurs som skal startes, instantiates den våren, men det er hensiktsmessig. Det er tre typer av string Resource, er basert på Queli instaziata Resource:
| |
Linux (Course)
Komplett guide til open-source system. Starter fra 49 €. |
| |
PHP (Course)
Full kurs for å lage dynamiske nettsider. Starter fra 49 €. |
| |
Ruby og Ruby On Rails (Course)
Opprette programvare og web applikasjoner med Ruby og RoR. Starter fra 39 €. |