當前位置:編程學習大全網 - 源碼下載 - 怎樣加載多個Spring bean 配置文件

怎樣加載多個Spring bean 配置文件

對於大多數的應用,從表現層的action,到持久層的DataSource,都被Spring 作為

bean 管理。如果這些bean 被配置在同壹個文件中,閱讀及維護該配置文件將是壹件非

常有挑戰的事情。

因此, Spring 建議:將壹個大的配置文件分解成多個小的配置文件,使每個配置文

件僅僅管理功能近似於bean; 這樣不僅可以分散配置文件,降低修改配置文件的風險,

而且更符合"分而治之"的軟件工程原理。

多個配置文件最終需要匯總, ApplicationContext提供如下方式來匯總多個配置文件:

.使用App1icationContext 加載多個配置文件。

Web 應用啟動時加載多個配置文件。

XML 配置文件中導入其他配置。

1 ApplicationContext 加載多個配置文件

ApplicatonContext 的常用實現類有如下兩個:

ClassPathXm1 ApplicationContext 。

FileSystemXm1ApplicationContext 。

這兩個類都可以用來加載多個配置文件,它們的構造器都可以接收壹個數組,並在

該數組中存放多個配置文件。ClassPathXm1ApplicationContext 可采用如下代碼加載多個

配置文件:

/I創建配置文件數組

/I假設有3 個配置文件: a.xml , b.xml , c.xml

Str工ng[) configLocations = {"a.xml" , "b.xml" , "c.xml"}

以配置文件數組為參數,創建ApplicationContext

ApplicationContext ctx = new ClassPathXmlApplicationContext(configLocations);

與采用FileSystemXm1ApplicationContext創建ApplicationContext的方式相似,區別

僅在於二者搜索配置文件的路徑不同:ClassPathXm1ApplicationContext通過CLASSPATH

路徑搜索配置文件:而FileSystemXm1ApplicationContext則在當前路徑搜索配置文件。

2 Web 應用啟動時加載多個配置文件

參看5.12.3 節所述,通過ContextLoaderListener 也可加載多個配置文件,可利用

337

輕量級J2EE 企業應用實戰壹壹-Struts+Spring+Hibernate 整合開發

<context-pararn>元素來指定多個配置文件位置,其配置如下:

<l-- 確定配置文件的位置壹〉

<context-param>

<param-name>contextConfigLocation</param-name>

<1-- 此處可以列出多個Spring 的XML 配置文件>

<param-value>/WEB-INF/daoContext.xml IWEB-INF/applicationContext.xml<1

param-value>

<context-param>

3 XML 配置文件中導人其他配置文件

配置文件本身和其子元素import. 可用於導入其他配置文件。具體的配置示例如下:

<?xml version="1.0" encod工口g="gb2312"?>

<!壹指定Spring 配置文件的dtd>

<!DOCTYPE beans PUBLIC "-IISPR工NGIIDTD BEANIIEN"

''htt p:/ /ww w.springframe work.o rg/dtd/spring-beans.dtd''>

<!-- Spring 配置文件的根元素->

<beans>

<!壹導入第→份配置文件: serv工ces.xml壹〉

<import resource="serv工ces.xml"l>

<!-- 導入第二份配置文件: resources/messageSource.xml 壹〉

<import resource="resources/messageSource.xml"l>

<!-- 導入第二份配置文件: resourcesl themeSource.xml -->

<import resource="/resources/themeSource.xml"l>

<!-- 下面定義該文件墾的其他bean…〉

<bean id="beanl" class=". .."1>

<bean id="bea口2" class="..."I>

</beans>

  • 上一篇:軟件開發,系統維護費怎麽做賬並計入成本
  • 下一篇:自己在線 logo免費,自己在線 logo免費頭像
  • copyright 2024編程學習大全網