最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring中多配置文件及引用其他bean的方式

 更新時(shí)間:2016年03月31日 11:58:50   作者:souvc  
本文給大家介紹spring中多配置文件及引用其他bean的方式,涉及到spring配置文件的相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧

Spring多配置文件有什么好處?

按照目的、功能去拆分配置文件,可以提高配置文件的可讀性與維護(hù)性,如將配置事務(wù)管理、數(shù)據(jù)源等少改動(dòng)的配置與配置bean單獨(dú)分開。

Spring讀取配置文件的幾種方式:

1、使用Spring自身提供的ApplicationContext方式讀取

在Java程序中可以使用ApplicationContext兩個(gè)實(shí)現(xiàn)類ClassPathXmlApplicationContext以及FileSystemXmlApplicationContext來讀取多個(gè)配置文件,他們的構(gòu)造器都可以接收一個(gè)配置文件數(shù)組。

如: ApplicationContext ctx = new ClassPathXmlApplicationContext(configLocations);與采用FileSystemXmlApplicationContext創(chuàng)建ApplicationContext的方式相似,區(qū)別僅在于二者搜索配置文件的路徑不同:ClassPathXmlApplicationContext通過CLASSPATH路徑搜索配置文件:而FileSystemXmlApplicationContext則在當(dāng)前路徑搜索配置文件。

方法一:在初始化時(shí)保存ApplicationContext對象

代碼:

ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml"); 
ac.getBean("beanId"); 

說明:

這種方式適用于采用Spring框架的獨(dú)立應(yīng)用程序,需要程序通過配置文件手工初始化Spring的情況。

方法二:通過Spring提供的工具類獲取ApplicationContext對象

代碼:

import org.springframework.web.context.support.WebApplicationContextUtils; 
ApplicationContext ac1 = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc) 
ApplicationContext ac2 = WebApplicationContextUtils.getWebApplicationContext(ServletContext sc) 
ac1.getBean("beanId"); 
ac2.getBean("beanId"); 

說明:

這種方式適合于采用Spring框架的B/S系統(tǒng),通過ServletContext對象獲取ApplicationContext對象,然后在通過它獲取需要的類實(shí)例。

上面兩個(gè)工具方式的區(qū)別是,前者在獲取失敗時(shí)拋出異常,后者返回null。

方法三:繼承自抽象類ApplicationObjectSupport

說明:

抽象類ApplicationObjectSupport提供getApplicationContext()方法,可以方便的獲取到ApplicationContext。Spring初始化時(shí),會(huì)通過該抽象類的setApplicationContext(ApplicationContext context)方法將ApplicationContext 對象注入。

方法四:繼承自抽象類WebApplicationObjectSupport

說明:

類似上面方法,調(diào)用getWebApplicationContext()獲取WebApplicationContext

方法五:實(shí)現(xiàn)接口ApplicationContextAware

說明:

實(shí)現(xiàn)該接口的setApplicationContext(ApplicationContext context)方法,并保存ApplicationContext 對象。Spring初始化時(shí),會(huì)通過該方法將ApplicationContext 對象注入。

以上方法適合不同的情況,請根據(jù)具體情況選用相應(yīng)的方法。

2、使用web工程啟動(dòng)時(shí)加載

在web.xml中配置web容器啟動(dòng)是自動(dòng)加載哪些配置文件:

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/spring-core.xml</param-value>
</context-param> 
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> 

多個(gè)的時(shí)候可以用 * 號(hào)來代替。

<servlet> 
<servlet-name>app</servlet-name> 
<servlet-class> 
org.springframework.web.servlet.DispatcherServlet 
</servlet-class> 
<context-param> 
<param-name>contextConfigLocation</param-name> 
<param-value>/WEB-INF/applicationContext*.xml,/WEB-
INF/user_spring.xml</param-value>
</context-param> 
<load-on-startup>1</load-on-startup> 
</servlet> 

3、Xml配置文件中導(dǎo)入其他配置文件

在/WEB-INF/applicationContext.xml配置應(yīng)用服務(wù)去加載,可以在applicationContext.xml中用import引入其他的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-3.2.xsd 
http://www.springframework.org/schema/mvc 
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
http://www.springframework.org/schema/tx 
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd 
http://www.springframework.org/schema/aop 
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">
<import resource="spring-servlet.xml"/>
<import resource="spring-security.xml"/>
<import resource="spring-hibernate.xml"/>
<import resource="spring-redis.xml"/>
</beans> 

相關(guān)文章

  • 詳解json在SpringBoot中的格式轉(zhuǎn)換

    詳解json在SpringBoot中的格式轉(zhuǎn)換

    這篇文章主要介紹了詳解json在SpringBoot中的格式轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Java文件復(fù)制多種方法實(shí)例代碼

    Java文件復(fù)制多種方法實(shí)例代碼

    近期用到文件復(fù)制,雖然程序很簡單,因?yàn)闀r(shí)間久了淡忘了,所以寫一篇文章記錄一下,下面這篇文章主要給大家介紹了關(guān)于Java文件復(fù)制多種方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Spring Boot 配置大全(小結(jié))

    Spring Boot 配置大全(小結(jié))

    本篇文章主要介紹了Spring Boot 配置大全(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • java中利用棧實(shí)現(xiàn)字符串回文算法

    java中利用棧實(shí)現(xiàn)字符串回文算法

    給定一個(gè)由多個(gè)a和b組成的字符串?dāng)?shù)組,字符串中有一個(gè)特殊的字符X,位于字符串的正中間,例如(aaaabbbbXabaabbbb),如何判定該字符串是否回文
    2020-12-12
  • Java中Retry方法的簡單實(shí)現(xiàn)

    Java中Retry方法的簡單實(shí)現(xiàn)

    這篇文章主要介紹了Java中Retry方法的簡單實(shí)現(xiàn),Retry主要是利用Java的lambda表達(dá)式和線程接口實(shí)現(xiàn)有返回值和無返回值的重試,思考了下就寫了一個(gè)簡易R(shí)etry功能分享出來,需要的朋友可以參考下
    2024-01-01
  • Spring源碼解析之推斷構(gòu)造方法

    Spring源碼解析之推斷構(gòu)造方法

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識(shí),文章圍繞著Spring推斷構(gòu)造方法展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java反射機(jī)制用法總結(jié)

    Java反射機(jī)制用法總結(jié)

    反射機(jī)制是在運(yùn)行狀態(tài)中,對于任意一個(gè)類,都能夠知道這個(gè)類的所有屬性和方法;對于任意一個(gè)對象,都能夠調(diào)用它的任意一個(gè)方法和屬性;這種動(dòng)態(tài)獲取的信息以及動(dòng)態(tài)調(diào)用對象的方法的功能稱為java語言的反射機(jī)制。下面我們來一起學(xué)習(xí)一下吧
    2019-05-05
  • java實(shí)現(xiàn)訂餐系統(tǒng)

    java實(shí)現(xiàn)訂餐系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)訂餐系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Java中的byte & 0xff到底有什么作用?

    Java中的byte & 0xff到底有什么作用?

    這篇文章主要介紹了Java中的byte & 0xff到底有什么作用,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 詳解Kotlin和anko融合進(jìn)行Android開發(fā)

    詳解Kotlin和anko融合進(jìn)行Android開發(fā)

    本篇文章主要介紹了Kotlin和anko融合進(jìn)行Android開發(fā),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11

最新評論

桃园市| 金阳县| 阿荣旗| 阿拉善左旗| 云安县| 徐闻县| 奈曼旗| 洛扎县| 衡阳市| 分宜县| 武威市| 汶上县| 五常市| 济源市| 涟水县| 晴隆县| 澳门| 庆阳市| 陆丰市| 阿坝| 长岭县| 新野县| 西藏| 永修县| 淅川县| 镇远县| 宾川县| 灵丘县| 晋中市| 湟中县| 长治市| 麻阳| 凌海市| 房山区| 大兴区| 黄陵县| 昭觉县| 永丰县| 阿鲁科尔沁旗| 西吉县| 宜宾县|