ホームページ  >  記事  >  バックエンド開発  >  複数の XML 構成ファイルを使用するための Spring のコード例の詳細な紹介

複数の XML 構成ファイルを使用するための Spring のコード例の詳細な紹介

黄舟
黄舟オリジナル
2017-03-08 16:53:512585ブラウズ

Spring は複数の XML 設定ファイルを使用するため、必要な友人はそれらを参照できます。

1、web.xml で contextConfigLocation パラメータを定義します。Spring はこのパラメータを使用して、すべてのカンマ区切りの XML をロードします。このパラメータがない場合、Spring はデフォルトで web-inf/applicationContext.xml ファイルをロードします。
contextConfigLocation パラメータ定義 ロードされる Spring 設定ファイル。原理は次のように説明されます:


1. ServletContextListener を使用して実装されます。

Spring は、リスナーとして使用できる ServletContextListener の実装クラス ContextLoaderListener を提供します。このクラスは、作成時に WEB-INF/ の下に applicationContext.xrnl ファイルを自動的に見つけます。したがって、構成ファイルが 1 つだけあり、ファイル名が applicationContext.xml である場合は、次のコードを web.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>

ロードする必要がある構成ファイルが複数ある場合次に、 ファイル名を決定することを検討してください。 ContextLoaderListener がロードされると、contextConfigLocation という名前のパラメーターが検索されるためです。


したがって、context-param を設定するときは、パラメーター名を contextConfigLocation にする必要があります。

複数の設定ファイルを含む web.xml ファイルは次のとおりです:

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

contextConfigLocation で指定された設定ファイルがない場合、Spring は自動的にアプリケーション

Context.xrnl 設定ファイルを見つけます。 contextConfigLocation がある場合は、このパラメータによって決定される設定ファイルを使用します。


このパラメータは文字列を指定します。Spring の ContextLoaderListener は、文字列を複数の

設定ファイルに分解する役割を果たします。カンマ「,」、スペース「;」を文字列区切り文字として使用できます。


applicationContext.xrnl ファイルも contextConfigLocation パラメーターを使用して決定された構成ファイルも存在しない場合、または contextConfigLocation パラメーターによって決定された構成ファイルが存在しない場合。これらすべてにより、Spring は設定ファイルをロードできなくなったり、ApplicationContext インスタンスを正常に作成したりできなくなります。ロード時にロードするサーブレットを使用して実装すると、同じ効果が得られます。

Spring は特別なサーブレット クラス ContextLoaderServlet を提供します。サーブレットが開始されると、WEB-IN で applicationContext.xml ファイルが自動的に検索されます。

もちろん、アプリケーションの起動時に ContextLoaderServlet が起動するようにするには、このサーブレットは

load-on-startup で Servletoload-on-startup の値を小さくするように設定する必要があります。これは、アプリケーションが

最初にコンテキストが作成されます。構成ファイルが 1 つだけあり、ファイル名が applicationContext.xml である場合は、

web.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"&#39;&#39;http://java.sun.com/dtd/web-app_2_3.dtd&#39;&#39;>
<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"
&#39;&#39;http://java.sun.com/dtd/web-app_2_3.dtd&#39;&#39;><web-app>
<&#39;一确定多个配置文件一><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>

を使用します。たとえば、Hibernate を使用する場合は、hibernate 関連の設定を applicationContext-hibernate.xml ファイルに置き、もう 1 つは

一部のグローバル関連情報は 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。