Was sind die Vorteile von Frühlings-Multi-Konfigurationsdateien?
Das Aufteilungskonfigurationsdateien nach Zweck und Funktion kann die Lesbarkeit und Wartung von Konfigurationsdateien verbessern, wie z.
Verschiedene Möglichkeiten Spring liest Konfigurationsdateien:
1. Lesen Sie mit der von Spring selbst bereitgestellten Anwendungsvermittlung
In Java -Programmen können Sie ApplicationContext zwei Implementierungsklassen ClassPathXMLApplicationContext und DateiSystemxMlApplicationContext verwenden, um mehrere Konfigurationsdateien zu lesen, und deren Konstrukteure können eine Reihe von Konfigurationsdateien empfangen.
Zum Beispiel: ApplicationContext ctx = new classSpathXmlApplicationContext (configLocations); ähnelt dem Erstellen von ApplicationContext mithilfe von DateiSystemxMlApplicationContext, der einzige Unterschied besteht darin, dass die Pfade der beiden Suchkonfigurationsdateien unterschiedlich sind: classPathXmlApplicationContext -Konfigurationsdateien durch den CLASSPATH -Pfad: DateisystemeStemxMlApplicationContext -Suchdateien im aktuellen Pfad.
Methode 1: Speichern Sie das Anwendungscontext -Objekt während der Initialisierung
Code:
ApplicationContext ac = new FileSystemXMLApplicationContext ("ApplicationContext.xml"); ac.getbean ("beanid"); veranschaulichen:
Diese Methode eignet sich für eigenständige Anwendungen unter Verwendung des Spring-Frameworks, bei dem die Programme von Programmen durch Konfigurationsdateien manuell initialisiert werden müssen.
Methode 2: applicationContext -Objekt über die von Spring bereitgestellte Werkzeugklasse erhalten
Code:
import org.springframework.web.context.support.webApplicationContextutils; ApplicationContext ac1 = webapplicationContextutils.getRequiredWebApplicationContext (ServletContext sc) applicationContext ac2 = webapplicationContextutils.getWebapplicationContext (ServletContext Sc) AC1.getBean ("BeanId"); AC2.getbean ("Beanid"); veranschaulichen:
Diese Methode eignet sich für B/S -Systeme unter Verwendung des Spring -Frameworks, das Abrufen des ApplicationContext -Objekts über das ServletContext -Objekt und dann die erforderliche Klasseninstanz durch sie.
Der Unterschied zwischen den beiden oben genannten Werkzeugmethoden besteht darin, dass erstere eine Ausnahme ausschüttet, wenn die Akquisition fehlschlägt und der letztere null zurückgibt.
Methode 3: Von abstrakten Klassen applicationObjectSupport geerbt
veranschaulichen:
Die abstrakte Klasse applicationObjectSupport bietet die Methode getApplicationContext (), mit der die Anwendungscontext problemlos abgerufen werden kann. Wenn die Spring initialisiert wird, wird das ApplicationContext -Objekt über die Methode SetApplicationContext (ApplicationContext) der abstrakten Klasse injiziert.
Methode 4: Von abstrakten Klassen -WebanapplicationObjectSupport geerbt
veranschaulichen:
Ähnlich wie bei der obigen Methode rufen Sie GetWebApplicationContext () auf, um WebApplicationContext zu erhalten
Methode 5: Implementieren Sie die Schnittstelle ApplicationContextaware
veranschaulichen:
Implementieren Sie die Methode SetApplicationContext (ApplicationContext Context) dieser Schnittstelle und speichern Sie das ApplicationContext -Objekt. Wenn die Feder initialisiert wird, wird das ApplicationContext -Objekt durch diese Methode injiziert.
Die oben genannten Methoden sind für verschiedene Situationen geeignet. Wählen Sie bitte die entsprechende Methode gemäß der spezifischen Situation.
2. Laden beim Verwenden von Webprojektstarts
Welche Konfigurationsdateien werden automatisch in web.xml geladen:
<Context-Param> <param-name> contextconfigLocation </param-name> <param-value> /web-inf/spring/spring-core.xml </param-Value> </context-param> <servlet> <servlet-name> springmvc </servlet-name> <servlet-class> org.springFramework.web.servlet.DispatcherServlet </servlet-class> <init-param> <param-name> contextconFigLocation </param-value> <param-value>/web-name>/web-name>/web-name>/web-- Inf/Spring/Spring-Service.xml </param-value> </init-param> <load-on-Startup> 1 </load-on-Startup> </Servlet> <Servlet-Mapping> <Servlet-Name> SpringMVC </Servlet-Name> <URL-PATTERN>/</</url-Patter> </Servlet-Mapping>
Wenn es mehrere Zahlen gibt, können Sie sie * verwenden, um sie zu ersetzen.
<servlet> <servlet-name> App </servlet-name> <servlet-classe> org.springframework.web.servlet.DispatcherServlet </Servlet-Class> <context-Param> <Param-name> contextConfigLocation </Param-Name> <param-value> /web-inf/applicationcontext*.xml,/web-inf/user_spring.xml </param-value> </context-param> <Load-onstartup> 1 </load-on-Startup> </servlet>
3. Importieren Sie andere Konfigurationsdateien in die XML -Konfigurationsdatei
Konfigurieren Sie den Anwendungsdienst, um in /web-inf/applicationContext.xml zu laden. Sie können importieren, um andere Konfigurationsdateien in applicationContext.xml zu importieren.
<? xmlns: p = "http://www.springframework.org/schema/p" xmlns: mvc = "http://www.springframework.org/schema/mvc" xmlns: tx = "http://www.springframework.org/schema/tx" xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://www.springframework.org/schema/Beans http://www.springframework http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.spingframework.org/sschema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/tx http://www.springframe.org/schema/tx/sping-tx- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd"><import ressourcen = "Spring-servlet.xml"/> < Resource = "Spring-hiberNate.xml"/> <import ressourcen = "spring-redis.xml"/> <import resource = "spring-redis.xml"/> <beans>