..


Sponsede Lenker

Kjerne container - IOC containere

IOC container of Spring er den delen som omhandler instantiate og konfigurere objektene som er plassert i det som kalles bønner.

Bønnene konfigureres via metadata som kan XML filer eller Java anmerkninger . Som standard er metadata leses av XML, for å muliggjøre bruk av merknader må konfigurere ApplicationContext.

Som nevnt tidligere rollen til DI og IOC er implementert gjennom BeanFactory og ApplicationContext. Gitt at ApplicationContext er et supersett av BeanFactory, anbefalte det, og fra nå av vil vi referere kun all'ApplicationContext.
Det finnes ulike typer leveres av Spring ApplicationContext, avhengig av hvilket program må utvikles. For eksempel for frittstående applikasjoner og vi er ClassPathXmlApplicationContext FileSystemXmlApplicationContext, mens for enterprise applikasjoner er WebApplicationContext, som startes gjennom en serlvet lytteren.
Alt de trenger ApplicationContext konfigurasjon metadata og da må vi bruke et første til å skrive en xml-fil.
La oss ta et eksempel alltid bruke som referanse forvaltningen av en video ser vi hvordan du initialisere klassen og IOC VideoManager.
Først skal vi lage metadata gjennom en samtale applicationContext.xml fil:






 <beans xmlns="http://www.springframework.org/schema/beans" ............>





  



 <- Import og andre metadata ->



  



 <import resource="otherbeans.xml"/>

	



  



 <- DEFINISJON AV SERVICE ->

						

  



 <bean id="dvdService" class="it.mrwebmaster.DvdServiceImpl" scope="singleton" />





  



 <-! Definition Video MANAGER ->



  



 <bean id="videoManager" class="it.mrwebmaster.VideoManager" scope="prototype">



    



 <property name="dvdService" ref="dvdService" />



  



 </ Bean>



	





 </ Beans>



Eksempelet viser at det er mulig å integrere flere metadata filer Definition som gitt for å dele bønner. Foreløpig er det viktig å forstå syntaksen til metadata (som vil bli diskutert senere), men potensialet i Spring.
Eliminer fra klassen konstruktør for å initialisere VideoManager dvdService og skape getter og fuglehunden for dvdService:






 public VideoManager () {



  



 super ();







 }









 <Dvd> GetAvalaibleDvdList public List () {



  



 //......



  



 availabeDvdList tilbake;







 }









 public void setDvdService (DvdService dvdService) {



  



 this.dvdService = dvdService;







 }









 public DvdService getDvdService () {



  



 dvdService tilbake;







 }



La oss nå se hvordan du initialisere IOC:





 / **



 



 * Instanz IOC container



 



 * /







 ApplicationContext ApplicationContext = new ClassPathXmlApplicationContext ("applicationContext.xml");









 / **



 



 * Hent klassen VideoManager



 



 * /







 VideoManager VideoManager = (VideoManager) applicationContext.getBean ("VideoManager");









 / **



 



 * Skriv en liste over DVDer tilgjengelig



 



 * /







 List <Dvd> avalaibleDvdList videoManager.getAvalaibleDvdList = ();









 for (DVD DVD: avalaibleDvdList) {



  



 System.out.println (dvd.getTitolo ());







 }



Som vi har sett, skrive noen få linjer av XML-kode, og vi var i stand til å fullstendig konfigurere vår søknad.

Fordelene med å bruke Spring, som har vært beskrevet i tidligere kapitler skiller seg ut:

  • Bønnene av vår søknad, og VideoManger DvdServiceImpl Nessus ikke implementere interface eller abstrakt klasse, og avhengigheter dall'IoC containere er ugyldige.
  • Hvis du bestemmer deg for å endre gjennomføringen dell'DvdService, eller legge andre, bare endre applicationContext.xml filen, uten å berøre koden VideoManager, takket være bruk av grensesnitt.
  • Også takket være bruk av grensesnitt er enkelt å lage tester for søknaden vår.

IoC Container

Igjen henviser til vårt eksempel vi kunne bruke FileSystemXmlApplicationContext som dette:

 



 ApplicationContext ApplicationContext FileSystemXmlApplicationContext = new ("/ sti / applicationContext.xml");

 
I stedet for å bruke WebApplicationContext i en bedrift program, må du legge i våre web.xml (komplett eksempel på en bedrift program som bruker Spring illutrato vil være det siste kapittelet i denne veiledningen):





 <- SPRING ->







 <context-param>



  



 <param-name> contextConfigLocation </ param-name>



  



 <param-value> CLASSPATH *: applicationContext.xml </ param-value>







 </ Kontekst-param>









 <listener>



  



 <listener-class> org.springframework.web.context.ContextLoaderListener </ lytteren-class>







 </ Listener>



Java Spring Guide
E-Learning
Linux (Course) Linux (Course)
Komplett guide til open-source system. Starter fra 49 €.
PHP (Course) PHP (Course)
Full kurs for å lage dynamiske nettsider. Starter fra 49 €.
Ruby og Ruby On Rails (Course) Ruby og Ruby On Rails (Course)
Opprette programvare og web applikasjoner med Ruby og RoR. Starter fra 39 €.
Sponsede Lenker