久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

spring 使用多個(gè)XML配置文件

 liuguichuan 2014-06-09
1, 在web.xml中定義 contextConfigLocation參數(shù).spring會(huì)使用這個(gè)參數(shù)加載.所有逗號(hào)分割的xml.如果沒有這個(gè)參數(shù),spring默認(rèn)加載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*.xml
classpath*:conf/spring/applicationContext_cti*.xml
classpath*:conf/spring/applicationContext_apm*.xml
</param-value>
</context-param>

contextConfigLocation 參數(shù)定義了要裝入的 Spring 配置文件。原理說明如下:
、利用ServletContextListener 實(shí)現(xiàn),。
Spring 提供ServletContextListener 的一個(gè)實(shí)現(xiàn)類ContextLoaderListener ,,該類可以作
為listener 使用,,它會(huì)在創(chuàng)建時(shí)自動(dòng)查找WEB-INF/ 下的applicationContext.xrnl 文件,。因
此,,如果只有一個(gè)配置文件,,并且文件名為applicationContext.xml ,,則只需在web.xml
文件中增加如下代碼即可:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
如果有多個(gè)配置文件需要載入,則考慮使用<context-para即元素來確定配置文件的
文件名,。由于ContextLoaderListener加載時(shí),,會(huì)查找名為contextConfigLocation的參數(shù)。
因此,,配置context-param時(shí)參數(shù)名字應(yīng)該是contextConfigLocation,。
帶多個(gè)配置文件的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"
''http://java./dtd/web-app_2_3.dtd''>
<web-app>
<!一確定多個(gè)配置文件>
<context-param>
<1-- 參數(shù)名為contextConfigLocation…〉
<param-name>contextConfigLocation</param-name>
<!一多個(gè)配置文件之間以,隔開二〉
<param-value>/WEB-工NF/daoContext.xml./WEB-INF/application
Context.xml</param-value>
</context-param>
<!-- 采用listener創(chuàng)建Applicat工onContext 實(shí)例-->
<listener>
<listener-class>org.spr工ngframework.web.context.ContextLoader
Listener</listener-class>
</listener>
</web-app>
如果沒有contextConfigLocation 指定配置文件,,則Spring 自動(dòng)查找application
Context. xrnl 配置文件,。如果有contextConfigLocation,則利用該參數(shù)確定的配置文件,。
該參數(shù)指定的一個(gè)字符串,, Spring 的ContextLoaderListener 負(fù)責(zé)將該字符串分解成多個(gè)
配置文件,逗號(hào)",,",、空格" "及分號(hào)";"都可作為字符串的分割符。
如果既沒有applicationContext. xrnl 文件,,也沒有使用contextConfigLocation參數(shù)確
定配置文件,,或者contextConfigLocation確定的配置文件不存在。都將導(dǎo)致Spring 無法
加載配置文件或無法正常創(chuàng)建ApplicationContext 實(shí)例

配置一個(gè)spring為加載而設(shè)置的servlet可以達(dá)到同樣效果.
采用load-on-startup Servlet 實(shí)現(xiàn),。
Spring 提供了一個(gè)特殊的Servllet 類: ContextLoaderServlet,。該Servlet 在啟動(dòng)時(shí),會(huì)
自動(dòng)查找WEB-IN日下的applicationContext. xml 文件,。
當(dāng)然,,為了讓ContextLoaderServlet 隨應(yīng)用啟動(dòng)而啟動(dòng),應(yīng)將此Servlet 配置成
load-on-startup 的Servleto load-on-startup 的值小一點(diǎn)比較合適,,因?yàn)橐WCApplication
Context 優(yōu)先創(chuàng)建,。如果只有一個(gè)配置文件,并且文件名為applicationContext. xml ,,則在
web.xml 文件中增加如下代碼即可:
<servlet>
<servlet-name>context</servlet口-arne>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</
servlet-class>
<load-on-startup>l</load-o 口-startup>
</servlet>

,。帶多個(gè)配置文件的web且nl 文件如下:
<!-- XML 文件的文件頭-->
<?xml version="1.0" encoding="工SO-8859-1"?>
<! -- web.xml 文件的DTD 等信息→
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems , 工口c.//DTD Web Application 2.3//EN"
''http://java./dtd/web-app_2_3.dtd''>
<web-app>
<'一確定多個(gè)配置文件一>
<context-param>
<!-- 參數(shù)名為contextConfigLocation-->
<param-name>contextConfigLocation</param-name>
<!-- 多個(gè)配置文件之間以,隔開一〉
<param-value>/WEB-工NF/daoContext.xml,, !WEB-工NF/applicationContext.
xml</param-value>
</context-param>
<!一采用load-on-startup Servlet 創(chuàng)建Applicat工onContext 實(shí)例一〉
<servlet>
<servlet-narne>context</servlet-narne>
<servlet-class>org.springframework.web.context.ContextLoader
Servlet</servlet-class>
<!一下面值小一點(diǎn)比較合適,,會(huì)優(yōu)先加載一〉
<load-on-startup>l</load-on-startup>
</servlet>
</web-app>


2, 使用匹配符

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext*.xml</param-value>
</context-param>

比如說用到Hibernate,則把hibernate相關(guān)的配置放在applicationContext-hibernate.xml這一個(gè)文件,而一些全局相關(guān)的信息則放在applicationContext.xml,其他的配置類似.這樣就可以加載了,不必寫用空格或是逗號(hào)分開!


3, 如果使用struts加載多個(gè)spring配置文件.下面這個(gè)配置的其實(shí)也是contextConfigLocation變量.

struts-config.xml里面加這個(gè)
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml,
/WEB-INF/action-servlet.xml,,,,,,,"/>

4,如果是非j2ee應(yīng)用直接程序加載.

ApplicationContext act = new ClassPathXmlApplicationContext(new String[]{"bean1.xml","bean2.xml"});

BeanDefinitionRegistry reg = new DefaultListableBeanFactory();

XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(reg);

reader.loadBeanDefinitions(new ClassPathResource("bean1.xml"));

reader.loadBeanDefinitions(new ClassPathResource("bean2.xml"));

BeanFactory bf = (BeanFactory)reg;

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多