..
Das IOC-Container ist der Teil, kümmert Instanziierung Frühling und konfigurieren Sie die Objekte, die in sie gesetzt werden, die man Bohnen sind.
Die Bohnen werden durch Metadaten, XML-Dateien oder konfiguriert werden können Java-Annotationen . Standardmäßig werden die Metadaten nur von XML lesen, damit die Verwendung von Annotationen ist keine Notwendigkeit, die ApplicationContext konfigurieren.
Wie bereits erwähnt Teil IoC und DI wird durch die BeanFactory und die ApplicationContext umgesetzt.
Als ApplicationContext ist eine Obermenge der BeanFactory, empfahl sie, und von nun an werden wir nur auf all'ApplicationContext.
Es gibt verschiedene Arten von Spring ApplicationContext vorgesehen, je nach Anwendung entwickeln soll.
Zum Beispiel stehen für eigenständige Anwendungen, und wir sind ClassPathXmlApplicationContext FileSystemXmlApplicationContext, während für Enterprise-Anwendungen ist die WebApplicationContext, die durch eine serlvet Zuhörer instanziiert wird.
Alle müssen die ApplicationContext Konfiguration von Metadaten und dann müssen wir einen ersten instanziieren, um eine XML-Datei zu schreiben.
Nehmen wir ein Beispiel, wiederum unter Verwendung als Referenz Geschäftsführer einer Videothek und sehen, wie das IOC Klasse VideoManager zu initialisieren.
Zuerst erstellen wir eine Datei mit den Metadaten, die wir nennen applicationContext.xml:
<beans xmlns="http://www.springframework.org/schema/beans" ............>
<-! Importe und andere Metadaten ->
<import resource="otherbeans.xml"/>
<-! Definition von 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>
</ Beans>
Dieses Beispiel zeigt, dass es möglich ist, mehrere Metadaten-Dateien Definition zu integrieren als gegeben, um die Bohnen zu teilen.
Derzeit ist es wichtig, die Syntax von Metadaten (die später erläutert werden), aber das Potenzial des Frühlings zu verstehen.
Eliminieren Sie aus dem Konstruktor der Klasse der VideoManager dvdService initialisieren und erstellen Sie die Getter-und Setter für die dvdService:
öffentlichen VideoManager () {
super ();
}
<DVD> GetAvalaibleDvdList public List () {
//......
availabeDvdList return;
}
public void setDvdService (DvdService dvdService) {
this.dvdService = dvdService;
}
öffentlichen DvdService getDvdService () {
dvdService return;
}
Nun wollen wir sehen, wie das IOC zu initialisieren:
/ **
* Instanz des IOC-Container
* /
ApplicationContext ApplicationContext ClassPathXmlApplicationContext = new ("applicationContext.xml");
/ **
* Rufen Sie die Klasse VideoManager
* /
VideoManager VideoManager = (VideoManager) applicationContext.getBean ("VideoManager");
/ **
* Drucken Sie die Liste der DVDs verfügbar
* /
Liste <DVD> avalaibleDvdList videoManager.getAvalaibleDvdList = ();
for (DVD DVD: avalaibleDvdList) {
System.out.println (dvd.getTitolo ());
}
Wie wir gesehen haben, schriftlich ein paar Zeilen XML-Code, und wir waren in der Lage, vollständig konfigurieren unserer Anwendung.
Die Vorteile der Verwendung von Spring, die in den vorherigen Kapiteln beschrieben worden sind hervorzuheben:

Wieder bezogen auf unser Beispiel der FileSystemXmlApplicationContext dieses nutzen könnten:
ApplicationContext ApplicationContext FileSystemXmlApplicationContext = new ("/ path / applicationContext.xml");
Stattdessen verwenden die WebApplicationContext in eine Enterprise-Anwendung, müssen Sie in unserem web.xml hinzu (das vollständige Beispiel eines Unternehmens Anwendung, Frühling illutrato wird das letzte Kapitel dieses Handbuchs werden verwendet):
<-! SPRING -> <context-param> <param-name> contextConfigLocation </ param-name> <param-value> classpath *: applicationContext.xml </ param-value> </ Context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </ Hörer-Klasse> </ Listener>
| |
Linux (Kurs)
Ein vollständiger Reiseführer von Open-Source-System. Von 49 €. |
| |
PHP (Kurs)
Vollständige natürlich für die Erstellung dynamischer Websites. Von 49 €. |
| |
Ruby und Ruby on Rails (Kurs)
Neues Software-und Web-Anwendungen mit Ruby und RoR. Von 39 €. |