..
IOC container er den del, der tager sig af instantiere Forår og konfigurere de objekter, der er placeret i det, som kaldes bønner.
Bønnerne er konfigureret ved hjælp af metadata, der kan XML-filer eller Java anmærkninger . Som standard er metadata kun læses af XML, for at aktivere brugen af annotationer er ingen grund til at konfigurere ApplicationContext.
Som nævnt tidligere en del af IOC, og DI er implementeret gennem BeanFactory og ApplicationContext.
Da ApplicationContext er et supersæt af BeanFactory, anbefales det, og fra nu af vil vi kun referere all'ApplicationContext.
Der er forskellige typer leveres af foråret ApplicationContext, afhængigt af programmet skal udvikles.
For eksempel står for enkeltstående applikationer og vi er ClassPathXmlApplicationContext FileSystemXmlApplicationContext, mens det for virksomhedsapplikationer er WebApplicationContext, som er instantieres gennem en serlvet lytteren.
Alle har brug for ApplicationContext konfiguration metadata og så er vi nødt til at instantiere en første til at skrive en XML-fil.
Lad os tage et eksempel, igen med som reference styre en videobutik og se hvordan du initialisere IOC klassen VideoManager.
Først skal vi oprette en fil ved hjælp af metadata, som vi kalder applicationContext.xml:
<beans xmlns="http://www.springframework.org/schema/beans" ............>
<-! Import og andre metadata ->
<import resource="otherbeans.xml"/>
<-! DEFINITION AF SERVICE ->
<bean id="dvdService" class="it.mrwebmaster.DvdServiceImpl" scope="singleton" />
<-! VIDEO MANAGER DEFINITION ->
<bean id="videoManager" class="it.mrwebmaster.VideoManager" scope="prototype">
<property name="dvdService" ref="dvdService" />
</ Bean>
</ Bønner>
Dette eksempel viser, at det er muligt at integrere flere metadata filer Definition, som gives for at opdele bønner.
I øjeblikket er det vigtigt at forstå syntaksen af metadata (som vil blive forklaret senere), men potentialet i foråret.
Eliminer fra klassen constructor at initialisere VideoManager dvdService og oprette getters og settere til dvdService:
offentlige VideoManager () {
super ();
}
<Dvd> GetAvalaibleDvdList offentlig liste () {
//......
availabeDvdList vende tilbage;
}
public void setDvdService (DvdService dvdService) {
this.dvdService = dvdService;
}
offentlige DvdService getDvdService () {
dvdService vende tilbage;
}
Lad os nu se, hvordan du initialisere IOC:
/ **
* Instanz IOC container
* /
ApplicationContext ApplicationContext ClassPathXmlApplicationContext = new ("applicationContext.xml");
/ **
* Hent klassen VideoManager
* /
VideoManager VideoManager = (VideoManager) applicationContext.getBean ("VideoManager");
/ **
* Udskriv listen af dvd'er til rådighed
* /
Liste <Dvd> avalaibleDvdList videoManager.getAvalaibleDvdList = ();
for (DVD DVD: avalaibleDvdList) {
System.out.println (dvd.getTitolo ());
}
Som vi har set, at skrive et par linjer af XML-kode og vi var i stand til fuldt ud at konfigurere vores ansøgning.
Fordelene ved at bruge foråret, som er blevet beskrevet i tidligere kapitler skiller sig ud:

Igen med henvisning til vores eksempel kunne vi bruge de FileSystemXmlApplicationContext dette:
ApplicationContext ApplicationContext FileSystemXmlApplicationContext = new ("/ sti / applicationContext.xml");
I stedet for at bruge WebApplicationContext i en virksomhed program, skal du tilføje i vores web.xml (den komplet eksempel på en virksomhed program, der bruger foråret illutrato vil være det sidste kapitel i denne vejledning):
<-! SPRING -> <context-param> <param-name> contextConfigLocation </ param-name> <param-value> classpath *: applicationContext.xml </ param-value> </ Kontekst-p> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </ lytteren-class> </ Listener>
| |
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 €. |