Heim > Artikel > Backend-Entwicklung > Detaillierte Einführung in die Codebeispiele von Spring für die Verwendung mehrerer XML-Konfigurationsdateien
Spring verwendet mehrere XML-Konfigurationsdateien, Freunde in Not können darauf verweisen.
1, definieren Sie den contextConfigLocation-Parameter in web.xml. Spring verwendet diesen Parameter, um alle durch Kommas getrennten XML-Dateien zu laden. Wenn dieser Parameter nicht vorhanden ist, lädt Spring standardmäßig die Datei web-inf/applicationContext.xml .
<context-param><param-name>contextConfigLocation</param-name> <param-value>classpath*:conf/spring/applicationContext_core*.xml, classpath*:conf/spring/applicationContext_dict*.xml,classpath*:conf/spring/applicationContext_hibernate.xml, classpath*:conf/spring/applicationContext_staff*.xml,classpath*:conf/spring/applicationContext_security.xml classpath*:conf/spring/applicationContext_modules*.xmlclasspath*:conf/spring/applicationContext_cti*.xml classpath*:conf/spring/applicationContext_apm*.xml</param-value> </context-param>
Der contextConfigLocation-Parameter definiert die zu ladende Spring-Konfigurationsdatei. Das Prinzip wird wie folgt erklärt:
1. Verwenden Sie ServletContextListener zur Implementierung.
Spring stellt eine Implementierungsklasse von ServletContextListener, ContextLoaderListener, bereit, die als Listener verwendet werden kann. Die Datei applicationContext.xrnl wird beim Erstellen automatisch unter WEB-INF/ gefunden. Daher
hinzufügen:
Daher sollte der Parametername contextConfigLocation lauten, wenn context-param konfiguriert wird.
<1-- XML 文件的文件头二〉<?xml version="l.O" encoding="工80-8859-1"?> < 1-- web.xm1 文件的DTD 等信息一〉<!DOCTYPE web-app PUBLIC "-//Sun Microsystems. 工口c.//DTD Web Application 2.3//EN"''http://java.sun.com/dtd/web-app_2_3.dtd''> <web-app><!一确定多个配置文件> <context-param><1-- 参数名为contextConfigLocation…〉 <param-name>contextConfigLocation</param-name><!一多个配置文件之间以,隔开二〉 <param-value>/WEB-工NF/daoContext.xml./WEB-INF/applicationContext.xml</param-value> </context-param><!-- 采用listener创建Applicat工onContext 实例--> <listener><listener-class>org.spr工ngframework.web.context.ContextLoader Listener</listener-class></listener></web-app>Context.xrnl-Konfigurationsdatei. Wenn contextConfigLocation vorhanden ist, verwenden Sie die durch diesen Parameter bestimmte Konfigurationsdatei.
Eine durch diesen Parameter angegebene Zeichenfolge ist für die Zerlegung der Zeichenfolge in mehrere
Wenn weder applicationContext vorhanden ist. All dies führt dazu, dass Spring die Konfigurationsdatei nicht
laden oder die ApplicationContext-Instanz nicht normal erstellen kann.
Das Konfigurieren eines von Spring zum Laden festgelegten Servlets kann denselben Effekt erzielen.
Verwendung Load-on-Startup-Servlet ausführen.
Spring bietet eine spezielle Servllet-Klasse: ContextLoaderServlet. Wenn das Servlet gestartet wird, sucht es
automatisch nach der Datei applicationContext.xml unter WEB-IN.
Damit das ContextLoaderServlet beim Start der Anwendung gestartet werden kann, sollte dieses Servlet natürlich auf
Der Wert von Servleto Load-on-Startup von Load-on-Startup ist kleiner, weil Es ist angemessener sicherzustellen, dass zuerst der Anwendungskontext erstellt wird. Wenn nur eine Konfigurationsdatei vorhanden ist und der Dateiname applicationContext.xml lautet, fügen Sie den folgenden Code zur Datei
. Die Web- und NL-Dateien mit mehreren Konfigurationsdateien lauten wie folgt:
<servlet> <servlet-name>context</servlet-name><servlet-class>org.springframework.web.context.ContextLoaderServlet</ servlet-class><load-on-startup>l</load-on-startup> </servlet>
2, verwenden Sie das entsprechende Zeichen
<!-- XML 文件的文件头--><?xml version="1.0" encoding="工SO-8859-1"?> <! -- web.xml 文件的DTD 等信息→<!DOCTYPE web-appPUBLIC "-//Sun Microsystems , 工口c.//DTD Web Application 2.3//EN" ''http://java.sun.com/dtd/web-app_2_3.dtd''><web-app> <'一确定多个配置文件一><context-param> <!-- 参数名为contextConfigLocation--><param-name>contextConfigLocation</param-name><!-- 多个配置文件之间以,隔开一〉 <param-value>/WEB-工NF/daoContext.xml, !WEB-工NF/applicationContext.xml</param-value> </context-param><!一采用load-on-startup Servlet 创建Applicat工onContext 实例一〉 <servlet><servlet-narne>context</servlet-narne> <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class> <!一下面值小一点比较合适,会优先加载一〉<load-on-startup>l</load-on-startup></servlet> </web-app>. Wenn beispielsweise Hibernate verwendet wird, ist das Hibernate-bezogene Konfiguration Platzieren Sie es in der Datei applicationContext-hibernate.xml, und einige globale verwandte Informationen werden in applicationContext.xml abgelegt. Auf diese Weise können sie ohne Schreiben geladen werden Durch Leerzeichen oder Kommas getrennt. 3. Wenn Sie Struts verwenden, um mehrere Federkonfigurationsdateien zu laden, fügen Sie diese struts-config.xml >4. Wenn es sich um eine Nicht-J2ee-Anwendung handelt, wird das Programm direkt geladen
<context-param><param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext*.xml</param-value></context-param>Erklären Sie abschließend den Unterschied zwischen dem folgenden Klassenpfad*: und dem Klassenpfad:
classpath*: scheint Dateien aus mehreren JAR-Dateien zu extrahieren. Dieselbe Datei in .classpath laden: Nur die erste gefundene Datei kann geladen werden
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Codebeispiele von Spring für die Verwendung mehrerer XML-Konfigurationsdateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!