Spring は複数の XML 設定ファイルを使用するため、必要な友人はそれらを参照できます。
1、web.xml で contextConfigLocation パラメータを定義します。Spring はこのパラメータを使用して、すべてのカンマ区切りの XML をロードします。このパラメータがない場合、Spring はデフォルトで web-inf/applicationContext.xml ファイルをロードします。
contextConfigLocation パラメータ定義 ロードされる Spring 設定ファイル。原理は次のように説明されます:
1. ServletContextListener を使用して実装されます。
ファイルに追加するだけで済みます。
<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>
したがって、context-param を設定するときは、パラメーター名を contextConfigLocation にする必要があります。
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>
このパラメータは文字列を指定します。Spring の ContextLoaderListener は、文字列を複数の
applicationContext.xrnl ファイルも contextConfigLocation パラメーターを使用して決定された構成ファイルも存在しない場合、または contextConfigLocation パラメーターによって決定された構成ファイルが存在しない場合。これらすべてにより、Spring は設定ファイルをロードできなくなったり、ApplicationContext インスタンスを正常に作成したりできなくなります。ロード時にロードするサーブレットを使用して実装すると、同じ効果が得られます。
もちろん、アプリケーションの起動時に ContextLoaderServlet が起動するようにするには、このサーブレットは
最初にコンテキストが作成されます。構成ファイルが 1 つだけあり、ファイル名が applicationContext.xml である場合は、
<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>を追加します。複数の設定ファイルを含む web ファイルと nl ファイルは次のとおりです:
<servlet> <servlet-name>context</servlet-name><servlet-class>org.springframework.web.context.ContextLoaderServlet</ servlet-class><load-on-startup>l</load-on-startup> </servlet>2、一致する文字
<!-- 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>
一部のグローバル関連情報は applicationContext.xml に配置されており、他の構成も同様に、スペースやカンマで区切らずにロードできます。
3. 複数のスプリング構成をロードする場合。ファイルは次のとおりです。実際には、この
<context-param><param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext*.xml</param-value></context-param>4 を struts-config.xml に追加します。プログラムは、直接ロードされます。 classpath*: と classpath の違いは次のとおりです:
classpath*: 複数の jar ファイルから同じファイルをロードするようです: 最初に見つかったファイルのみをロードできます。
以上が複数の XML 構成ファイルを使用するための Spring のコード例の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。