欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

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

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

方法一:在初始化時保存ApplicationContext對象

代碼:

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

說明:

這種方式適用于采用Spring框架的獨立應用程序,需要程序通過配置文件手工初始化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對象,然后在通過它獲取需要的類實例。

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

方法三:繼承自抽象類ApplicationObjectSupport

說明:

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

方法四:繼承自抽象類WebApplicationObjectSupport

說明:

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

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

說明:

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

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

2、使用web工程啟動時加載

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

<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> 

多個的時候可以用 * 號來代替。

<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配置文件中導入其他配置文件

在/WEB-INF/applicationContext.xml配置應用服務去加載,可以在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)文章

  • Dwr3.0純注解(純Java Code配置)配置與應用淺析三之后端反向調(diào)用前端

    Dwr3.0純注解(純Java Code配置)配置與應用淺析三之后端反向調(diào)用前端

    Dwr是為人所熟知的前端框架,其異步推送功能是為人所津津樂道的,下來主要研究一下它的這個功能是怎么應用的;
    2016-04-04
  • Java 深入探討設計模式之原型模式篇

    Java 深入探討設計模式之原型模式篇

    設計模式(Design pattern)是一套被反復使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設計經(jīng)驗的總結(jié)。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性
    2021-10-10
  • 詳解SpringMVC中使用Interceptor攔截器

    詳解SpringMVC中使用Interceptor攔截器

    SpringMVC 中的Interceptor 攔截器也是相當重要和相當有用的,它的主要作用是攔截用戶的請求并進行相應的處理,這篇文章主要介紹了詳解SpringMVC中使用Interceptor攔截器,有興趣的可以了解一下。
    2016-12-12
  • SpringBoot封裝響應處理超詳細講解

    SpringBoot封裝響應處理超詳細講解

    這篇文章主要介紹了SpringBoot封裝響應處理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-12-12
  • 使用Java生成jpg與壓縮圖片為jpg文件的代碼示例

    使用Java生成jpg與壓縮圖片為jpg文件的代碼示例

    這篇文章主要介紹了使用Java生成jpg與壓縮圖片為jpg文件的代碼示例,都是對com.sun.image.codec.jpeg這個包的應用,需要的朋友可以參考下
    2015-11-11
  • java用split分割字符串的一個有趣現(xiàn)象

    java用split分割字符串的一個有趣現(xiàn)象

    最近在項目中使用了java中的split分割字符串,發(fā)現(xiàn)了一個bug,充分了展示了自己對java底層的認知有很多的不足和欠缺。下面將這次的經(jīng)過總結(jié)出來分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • Java使用continue語句的實例詳解

    Java使用continue語句的實例詳解

    這篇文章主要介紹了Java使用continue語句的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握使用方法,需要的朋友可以參考下
    2017-10-10
  • Linux中JDK安裝配置教程

    Linux中JDK安裝配置教程

    這篇文章主要為大家詳細介紹了Linux中JDK安裝配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Spring IOC創(chuàng)建對象的兩種方式

    Spring IOC創(chuàng)建對象的兩種方式

    這篇文章主要給大家介紹了關(guān)于Spring IOC創(chuàng)建對象的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • JAVA實現(xiàn)多線程的兩種方法實例分享

    JAVA實現(xiàn)多線程的兩種方法實例分享

    這篇文章介紹了JAVA實現(xiàn)多線程的兩種方法實例分享,有需要的朋友可以參考一下
    2013-08-08

最新評論